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
- 237 views