tr

Content

 

Data

License: GNU GPL v3 +
Version number: (GNU coreutils) 8.30
Developer / owner: Free Software Foundation, Inc.

Short description:

The manual page and help for the tr linux command. Use this command to replace, compress, or delete characters in the entered strings.

 

 

Man page output

man tr
TR(1)                              General Commands Manual                             TR(1)

NÉV
       tr - karakterek lecserélése, tömörítése és/vagy törlése

ÁTTEKINTÉS
       tr  [-cdst]  [--complement]  [--delete] [--squeeze-repeats] [--truncate-set1] string1
       [string2]

       tr [--help] [--version]

LEÍRÁS
       tr átmásolja a szabványos  bemenetet  a  szabványos  kimenetre  végrehajtva  egyet  a
       következő feladatok közül:

              • cserél, és választhatóan tömöríti az eredményben az ismétlődő karaktereket
              • tömöríti az ismétlődő karaktereket
              • karaktereket töröl
              • karaktereket töröl, majd tömöríti az eredményben az ismétlődő karaktereket.

       A  string1  és  (ha  megadott)  a  string2 argumentumok egy rendezett karakterhalmazt
       határoznak meg, melyre lejebb SET1 és SET2-ként hivatkozunk.  Ezek a halmazok azok  a
       karakterei  a  bemenetnek,  melyeken  a  tr  működni  fog.  A --complement (-c) opció
       kicseréli a SET1-et az ő komplementerével (az összes karakter, ami nincs a SET1-ben).

OPCIÓK
       -c, --complement
              Kicseréli a SET1-et az ő komplementerével (az összes  karakter,  ami  nincs  a
              SET1-ben).

       -d, --delete
              Törli  a  bejövő  karakterek  közül  azt,  amelyik benne van a SET1-ben, nincs
              cserélés.

       -s, --squeeze-repeats
              Karaktersorozatot cserél ki egy karakterrel, miután elvégezte a cserélést vagy
              a  törlést.  Lecserél  minden  ismétlődő  karaktersorozatot,  ami  benne van a
              SET1-ben, a karakter egyszeri előfordulásával.

       -t, --truncate-set1
              Mielőtt belekezdene a  cserélésbe,  először  megcsonkítja  a  SET1-et  a  SET2
              méretére.

       --help Használati  útmutatót ír a szabványos kimenetre, majd kilép.

       --version
               A program verziójáról ír ki információt a  szabványos kimenetre, majd kilép.

KARAKTERHALMAZOK RÉSZLETEZÉSE
       A  string1  és  string2  argumentumok  formátuma  hasonlít  a  reguláris  kifejezések
       formátumára;  habár  nem  reguláris  kifejezések,  csak  karakterlisták.   A  legtöbb
       karakter  saját  magát  jelöli  ezekben  a füzérekben, de a füzér tartalmazhat lejebb
       felsorolt rövidítéseket a kényelem kedvéért. Néhány ezek  közül  csak  a  string1-ben
       vagy a string2-ben használható, lásd lejebb.

   Backslash szekvenciák
       Backslash után egy az alábbiakban fel nem sorolt karaktert írva hibaüzenetet kapunk.

              \a     Control-G.

              \b     Control-H.

              \f     Control-L.

              \n     Control-J.

              \r     Control-M.

              \t     Control-I.

              \v     Control-K.

              \OOO   Az OOO értékű karakter, ahol az OOO legfeljebb 3 oktális számjegy.

              \\     Egy backslash.

   Tartományok
       A  `m-n'  jelölés  feloldása  az  m-től  az  n-ig  terjedő  összes  karakter  növekvő
       sorrendben. m-nek n előtt kell elhelyezkednie, különben hibát eredményez.  Például  a
       `0-9'  megfelel  a  `0123456789'-nak.   Habár  a  GNU  tr  nem  támogatja  a System V
       szintaxist,  ami  szögletes  zárójeleket  használ  a  tartományok  közrefogására,   a
       cserélés,  ami ebben a formátumban lett megadva működni fog, amennyiben a zárójelek a
       string1-ben összhangban vannak a string2-ben lévőkkel.

   Ismétlődő karakterek
       A `[c*n]' jelölés a string2-ben a  c  karakter  n-szeri  ismétlését  jelenti.  Így  a
       `[y*6]' megfelel a `yyyyyy'-nak. A `[c*]' jelölés a string2-ben megfelel a c karakter
       annyiszoros másolatának, ahányra szükség van ahhoz, hogy a SET2  a  SET1-gyel  azonos
       hosszúságú  legyen.  Ha  az  n  0-val  kezdődik, akkor oktálisan értelmezi, egyébként
       decimálisan.

   Karakter osztályok
       A  `[:class-name:]'  jelölés  feloldása  az  összes  class-name   (előre   definiált)
       osztálybeli  karakter.  A kifejtett karaktereknek nincsen pontos sorrendje, kivéve az
       `upper' és `lower' osztályokat, melyek növekvő sorrendben fejtődnek ki.  Amennyiben a
       --delete  (-d)  és  --squeeze-repeats  (-s)  opciók  mindegyikét  megadta,  bármelyik
       karakterosztály használható a string2-ben. Egyébként csak a `lower' és `upper' adható
       meg  a  string2-ben,  és  csak  akkor, ha a megfelelő karakterosztályokat (`upper' és
       `lower', külön-külön)  ugyanazon  a  relatív  helyen  adták  meg  a  string1-ben.  Ez
       kisbetű-nagybetű  átalakítást hajt végre. Érvénytelen osztálynév hibát eredményez. Az
       alábbi osztálynevek léteznek:

              alnum  Betűk és számok.

              alpha  Betűk.

              blank  Vízszintes fehérszóközök.

              cntrl  Vezérlő karakterek.

              digit  Számok.

              graph  Nyomtatható karakterek, a szóközt kivéve.

              lower  Kisbetűk.

              print  Nyomtatható karakterek, a szóközzel együtt.

              punct  Írásjelek.

              space  Vízszintes vagy függőleges fehérszóközök.

              upper  Nagybetűk.

              xdigit Hexadecimális számok.

   Ekvivalencia osztályok
       A `[=c=]' szintaxis feloldása az összes karakternek, ami egyenértékű a c karakterrel,
       nem  meghatározott  sorrendben. Az ekvivalencia osztály egy újkeletű talalmány, ami a
       nem angol ábécéket szándékozik támogatni. Viszont úgy látszik,  hogy  nincs  irányadó
       módja  annak,  hogyan  definiáljuk  vagy  határozzuk  meg  a  tartalmukat. Emiatt nem
       megvalósított ez a GNU tr-ben;  minden  karakter  ekvivalencia  osztálya  csak  saját
       magából áll, ami jelenleg hasznavehetetlenné teszi ezt a lehetőséget.

CSERÉLÉS
       A  tr  cserélést  végez,  ha a string1 és a string2 is megadásra került és a --delete
       (-d) opció nem lett megadva. A tr lecseréli  a  bemenetének  összes  karakterét,  ami
       benne  van  a  SET1-ben,  a  SET2 beli megfelelő karakterre. A karakterek, melyek nem
       szerepelnek a SET1-ben változatlanul maradnak. Amennyiben egy  karakter  többször  is
       előfordul  a  SET1-ben  és az összes megfelelő karakter nem ugyanaz, akkor az utolsót
       veszi csak figyelembe. Például az alábbi két parancs azonos:

              tr aaa xyz
              tr a z

       Egy  gyakori  alkalmazása  a  tr  parancsnak  a  kisbetűk  nagybetűvé  alakítása.  Ez
       megoldható több módon. Itt van közüllük három:
              tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
              tr a-z A-Z
              tr '[:lower:]' '[:upper:]'

       Amikor  a tr cserélést hajt végre, a SET1-nek és a SET2-nek azonos hosszúságúnak kell
       lennie. Ha a SET1 rövidebb a SET2-nél,  a  felesleges  karaktereket  a  SET2  végéről
       figyelmen kívül hagyja.

       Másrészt,  ha  a  SET1  hosszabb a SET2-nél, akkor nem lesz hordozható a kód; POSIX.2
       szerint az eredmény nem meghatározott. Ebben az esetben a BSD tr kibővíti a SET1-t  a
       SET2  hosszára a SET2 utolsó karakterének megfelelő számú ismétlésével. A System V tr
       levágja a SET1-et a SET1 hosszára.

       Alapértelmezés szerint a GNU tr ezt az esetet a BSD tr-jéhez hasonlóan csinálja. Ha a
       --truncate-set1  (-t)  opció megadásra került, a GNU tr a System V tr-jéhez hasonlóan
       csinálja. Ezt az opciót figyelmen kívül hagyja a cserélési eljáráson kívül.

       A System V tr ebben az esetben megszakítja a relatív gyakori BSD stílust:
              tr -cs A-Za-z0-9 '\012'
       mert  ez  csak  a  nulla  bájtot  fogja  átalakítani   (az   első   tagját   a   SET1
       komplementerének),  ahelyett,  hogy  az összes nem alfanumerikus karaktert lecserélné
       újsor karakterre.

   ISMÉTLŐDÉSEK ÖSSZEHÚZÁSA ÉS TÖRLÉS
       Amennyiben csak a --delete  (-d)  opció  került  megadásra,  a  tr  eltávolít  minden
       karaktert, amely a SET1-ben szerepel.

       Amennyiben  csak  a  --squeeze-repeats  (-s)opció került megadásra, a tr lecseréli az
       összes bemeneti, SET1-ben lévő karaktersorozatot az egyszeri előfordulásával.

       Amennyiben a --delete és a --squeeze-repeats opció is megadásra került, a tr  először
       elvégzi a törlést a SET1 felhasználásával, majd az összehúzást a maradék karaktereken
       a SET2 felhasználásával.

       A --squeeze-repeats opció a cseréléssel együtt is használható, ezesetben a tr először
       végrehajtja   a   cserét,   majd   összevonja   az   ismétlődő  karaktereket  a  SET2
       felhasználásával.

       Itt van néhány példa az különböző opciók variálásának bemutatására:

       • Az összes nulla bájt eltávolítása:

              tr -d '\000'

       • Az összes szó különböző sorokba bontása.  Az  összes  nem  alfanumerikus  karaktert
       újsor karakterre cseréli, majd az ismétlődő újsor karaktereket összevonja egyetlenné:

              tr -cs '[a-zA-Z0-9]' '[\n*]'

       • Az összes ismétlődő újsor karaktert egyetlenné vonja össze:

              tr -s '\n'

       • A szavak dupla előfordulásának megtalálása. Például az emberek gyakran írják a "the
       the" ismétlődő szavakat egy újsor karakterrel elválasztva.  Az  alábbi  bourne  shell
       script  először  átkonvertálja  az  írásjelek  és  a  szóközök  sorozatát  egy  újsor
       karakterré, amitől minden "szó" külön sorba kerül. Ezután átírja az összes  nagybetűt
       kicsire, és végül elindítja a uniq(1) parancsot a -d opcióval, hogy csak az ismétlődő
       szavakat írja ki.

              #!/bin/sh
              cat "$@" \
              | tr -s '[:punct:][:blank:]' '\n' \
              | tr '[:upper:]' '[:lower:]' \
              | uniq -d

POSIX KOMPATIBILITÁS
       A   POSIXLY_CORRECT   környezeti   változó   beállításával   kikapcsolhatunk   számos
       figyelmeztető- és hibaüzenetet a szigorúbb POSIX.2 megfelelés érdekében.  Az üzenetek
       normálisan a következő körülmények között fordulnak elő:

              1.  Amikor a --delete opciót megadtuk, de  a  --squeeze-repeats-t  nem,  és  a
              string2-t  is  megadtuk,  a  GNU tr alapértelmezés szerint kiír egy használati
              üzenetet  és  kilép,  mert  a  string2  nem  kerül  felhasználásra.  A   POSIX
              specifikáció szerint a string2-t figyelmen kívül kell hagyni ebben az esetben.
              Csendben figyelmen kívül hagyni egy argumentumot rossz ötlet.

              2.  Amikor egy félreérthető oktális kód kerül megadásra. Például  a  \400  egy
              \40 majd egy 0, mert a 400 oktális szám nem fér bele egy bájtba.

       Fontos,  hogy  a  GNU tr nem teljesen kompatibilis a BSD vagy a System V változattal.
       Például  nincsen  opció   a   [:alpha:],   [=c=]   és   [c*10]   POSIX   értelmezések
       kikapcsolásához.  A  GNU  tr a nulla karaktert sem törli automatikusan, ellentétben a
       tradícionális UNIX variánsokkal, amelyeknél nincs lehetőség a nulla bájt megvédésére.

MEGJEGYZÉS
       Hibajelentéseket a bug-textutils@gnu.org címre küldd.
       Ezt a kézikönyv lapot Ragnar Hojland Espinosa <ragnar@macula.net> írta.

MAGYAR FORDÍTÁS
       Nagy Ernő <ned@elte.hu>

GNU textutils 2.0                      15 August 1999                                  TR(1)

 

 

Help output

tr --help
Használat: tr [KAPCSOLÓ]… HALMAZ1 [HALMAZ2]
Karakterek fordítása, összenyomása és/vagy törlése a szabványos bemenetről
és kiírás a szabványos kimenetre.

  -c, -C, --complement    a HALMAZ1 komplemensének használata
  -d, --delete            a HALMAZ1 karaktereinek törlése, nincs fordítás
  -s, --squeeze-repeats   az utoljára megadott HALMAZBAN felsorolt bemeneti
                            karakter ismétlődő sorozatainak helyettesítése a
                            karakter egyetlen előfordulásával
  -t, --truncate-set1     a HALMAZ1 csonkítása a HALMAZ2 hosszára
      --help     ezen súgó megjelenítése és kilépés
      --version  verzióinformációk megjelenítése és kilépés

A HALMAZOK karakterláncokként vannak meghatározva. A legtöbb saját magát
képviseli. Az értelmezett sorozatok:

  \NNN    az NNN oktális értékű karakter (1-3 számjegy)
  \\      fordított osztásjel
  \a      riadó (BEL)
  \b      visszaper
  \f      lapdobás
  \n      új sor
  \r      kocsivissza
  \t      vízszintes tab
  \v      függőleges tab
  KAR1-KAR2       az összes karakter KAR1 és KAR2 között növekvő sorrendben
  [KAR*]          a HALMAZ2-ben, a KAR másolatai a HALMAZ1 hosszáig
  [KAR*ISMÉTLÉS]  a KAR ISMÉTLÉS darab másolata, az ISMÉTLÉS oktális, ha 0-val
                    kezdődik
  [:alnum:]       az összes betű és számjegy
  [:alpha:]       az összes betű
  [:blank:]       az összes vízszintes üreshely
  [:cntrl:]       az összes vezérlőkarakter
  [:digit:]       az összes számjegy
  [:graph:]       az összes nyomtatható karakter, kivéve a szóközt
  [:lower:]       az összes kisbetű
  [:print:]       az összes nyomtatható karakter, beleértve a szóközt
  [:punct:]       az összes központozó karakter
  [:space:]       az összes vízszintes vagy függőleges üreshely
  [:upper:]       az összes nagybetű
  [:xdigit:]      az összes hexadecimális számjegy
  [=KAR=]         az összes karakter, amely azonos a KAR karakterrel

A fordítás akkor következik be, ha a -d nincs megadva, és a HALMAZ1 és HALMAZ2
is jelen van. A -t csak fordításkor használható. A HALMAZ2 szükség esetén az
utolsó karakterének ismétlésével kiterjesztésre kerül a HALMAZ1 hosszára.
A HALMAZ2 fölösleges karakterei figyelmen kívül maradnak. Csak a [:lower:]
és [:upper:] növekvő sorrendű feloldása garantált; a HALMAZ2-ben fordításkor
csak párban használhatók kis- és nagybetűk átalakításának megadásához.
A -s az utoljára megadott HALMAZT használja, és fordítás vagy törlés után
következik be.

A(z) GNU coreutils online súgója: <https://www.gnu.org/software/coreutils/>
A(z) tr fordítási hibái a <https://translationproject.org/team/hu.html>
címen jelenthetők.
Teljes dokumentáció itt: <https://www.gnu.org/software/coreutils/tr>
vagy helyileg elérhető: info '(coreutils) tr invocation'

 

Related Content

  •  

 

Tags