Rechercher une page de manuel
tr
Langue: pl
Version: FSF (openSuse - 09/10/07)
Section: 1 (Commandes utilisateur)
Sommaire
NAZWA
tr - przet³umacz lub usuñ znakiSK£ADNIA
- tr
- [-cst] [--complement] [--squeeze-repeats]
[--truncate-set1] ³añcuch1 ³añcuch2 - tr
- [-cs] [--complement] [--squeeze-repeats] ³añcuch1
- tr
- [-cd] [--complement] [--delete] ³añcuch1
- tr
- [-cds] [--complement] [--delete] [--squeeze-repeats]
³añcuch1 ³añcuch2 - tr
- [--help] [--version]
OPIS
Dokumentacja niniejsza nie jest ju¿ utrzymywana i mo¿e byæ niedok³adna lub niekompletna. Autorytatywnym ¼ród³em jest obecnie dokumentacja Texinfo. Dostêp do niej uzyskasz wpisuj±c w wierszu poleceñ:- pinfo tr
- info tr.
Ta strona podrêcznika opisuje polecenie tr w wersji GNU. tr kopiuje standardowe wej¶cie na standardowe wyj¶cie, dokonuj±c jednej z poni¿szych operacji:
- * przek³ad, opcjonalnie ¶ci¶niêcie powtórzonych znaków w wyniku
* ¶ci¶niêcie powtórzonych znaków
* usuniêcie znaków
* usuniêcie znaków, potem ¶ci¶niêcie powtórzonych znaków w wyniku
Argumenty ³añcuch1 i (je¶li podany) ³añcuch2 definiuj± uporz±dkowane zbiory znaków, poni¿ej nazwane zb1 i zb2. Owe zbiory to znaki z wej¶cia, na których dzia³a tr. Opcja --complement (-c) zastêpuje zb1 jego dope³nieniem (wszystkimi znakami, których nie ma w zb1).
OKRE¦LANIE ZBIORÓW ZNAKÓW
Format argumentów ³añcuch1 i ³añcuch2 przypomina format wyra¿eñ regularnych; jednakowo¿, nie s± to wyra¿enia regularne, lecz tylko listy znaków. Wiêkszo¶æ znaków w tych ³añcuchach reprezentuje po prostu same siebie, ale ³añcuchy mog± te¿, dla wygody, zawieraæ wyliczone poni¿ej skróty. Niektórych z nich mo¿na u¿yæ tylko w ³añcuch1 lub ³añcuch2, jak zaznaczono poni¿ej.
Odwrotny uko¶nik, po którym nie nastêpuje znak spo¶ród wymienionych poni¿ej powoduje komunikat o b³êdzie.
- \a
- Control-G.
- \b
- Control-H.
- \f
- Control-L.
- \n
- Control-J.
- \r
- Control-M.
- \t
- Control-I.
- \v
- Control-K.
- \ooo
- Znak o warto¶ci podanej przez ooo, czyli od 1 do 3 cyfr ósemkowych.
- \\
- Odwrotny uko¶nik.
Zakresy: notacja `m-n' interpretowana jest jako wszystkie znaki od m do n, w porz±dku rosn±cym. m powinno wystêpowaæ w porz±dku sortowania przed n; je¶li tak nie jest, nastêpuje b³±d. Dla przyk³adu, `0-9' jest tym samym co `0123456789'. Chocia¿ GNU tr nie obs³uguje sk³adni System V u¿ywaj±cej nawiasów kwadratowych do zamykania zakresów, t³umaczenia okre¶lone w tym formacie nadal bêd± dzia³aæ, o ile nawiasy w ³añcuch1 odpowiadaj± identycznym nawiasom w ³añcuch2.
Powtórzone znaki: notacja `[c*n]' w ³añcuch2 interpretowana jest jako n kopii znaku c. Tak wiêc `[y*6]' jest tym samym co `yyyyyy'. Notacja `[c*]' w ³añcuch2 rozszerzana jest na tyle kopii c, ile potrzeba na to aby zb2 by³ tak d³ugi jak zb1. Je¶li n zaczyna siê od 0, jest reprezentowane ósemkowo, w przeciwnym razie dziesiêtnie.
Klasy znaków: notacji `[:nazwa-klasy:]' odpowiadaj± wszystkie znaki z (predefiniowanej) klasy zwanej nazwa-klasy. Znaki nie s± rozszerzane w jakim¶ szczególnym porz±dku, z wyj±tkiem klas 'upper' i Gdy podano zarówno opcjê --delete (-d) jak i --squeeze-repeats (-s) w ³añcuch2 mo¿na u¿yæ ka¿dej klasy znaków. W przeciwnym razie w ³añcuch2 akceptowane s± tylko klasy znaków 'upper' i 'lower', i to tylko wtedy, kiedy odpowiednie klasy 'upper' i 'lower' zosta³y okre¶lone na tej samej pozycji wzglêdnej w ³añcuch1. Takie postêpowanie okre¶la konwersjê wielko¶ci liter. Nazwy klas podano ni¿ej; je¶li poda siê nieprawid³ow± nazwê klasy, powstaje b³±d.
- alnum
- Litery i cyfry.
- alpha
- Litery.
- blank
- Poziomy bia³y znak.
- cntrl
- Znaki steruj±ce.
- digit
- Cyfry.
- graph
- Znaki drukowalne, z wy³±czeniem spacji.
- lower
- Ma³e litery.
- Znaki drukowalne, ³±cznie ze spacj±.
- punct
- Znaki interpunkcyjne.
- space
- Pionowy lub poziomy bia³y znak (odstêp).
- upper
- Du¿e litery.
- xdigit
- Cyfry szesnastkowe.
Klasy równowa¿ne: sk³adnia `[=c=]' oznacza wszystkie znaki równowa¿ne c, bez szczególnej kolejno¶ci. Klasy równowa¿ne to niedawny wynalazek pomy¶lany dla obs³ugi alfabetów nie-angielskich. Jednak nie istnieje, zdaje siê, standardowa metoda ich zdefiniowania lub okre¶lenia ich zawarto¶ci. Z tego powodu nie s± one w pe³ni zaimplementowane w GNU tr; klasa równowa¿na ka¿dego znaku sk³ada siê tylko z tego znaku, co obecnie czyni je konstrukcj± bezu¿yteczn±.
T£UMACZENIE
tr dokonuje t³umaczenia gdy podane s± zarówno ³añcuch1 jak i ³añcuch2, a nie podano opcji --delete (-d). tr t³umaczy ka¿dy znak swojego wej¶cia znajduj±cy siê w zb1 na odpowiedni znak w zb2. Znaki, których nie ma w zb1 przepuszczane s± w postaci niezmienionej. Gdy jaki¶ znak pojawia siê wiêcej ni¿ jeden raz w zb1, a odpowiadaj±ce mu znaki w zb2 nie s± takie same, u¿ywany jest tylko ostatni z nich. Dla przyk³adu, poni¿sze dwa polecenia s± równowa¿ne:
-
tr aaa xyz tr a z
-
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ tr a-z A-Z tr '[:lower:]' '[:upper:]'
Z drugiej strony, podanie zb1 d³u¿szego od zb2 nie jest przewidziane: POSIX.2 mówi, ¿e rezultat jest niezdefiniowany. W takiej sytuacji tr BSD wyd³u¿a zb2 do d³ugo¶ci zb1 powtarzaj±c ostatni znak zb2 tyle razy ile potrzeba. tr z System V obcina zb1 do d³ugo¶ci zb2.
Domy¶lnie, GNU tr za³atwia ten przypadek tak jak robi to tr z BSD. Gdy podano opcjê --truncate-set1 (-t) GNU tr obs³uguje ten przypadek tak jak wersja z System V. Opcja ta jest ignorowana dla operacji innych ni¿ t³umaczenie.
Zachowywanie siê jak tr z System V w tym przypadku psuje stosunkowo czêsty idiom z BSD:
-
tr -cs A-Za-z0-9 '\012'
¦CISKANIE POWTÓRZEÑ I USUWANIE
Je¶li podano tylko opcjê --delete (-d), tr usuwa z wej¶cia wszystkie znaki znajduj±ce siê w zb1.
Je¶li podano tylko opcjê --squeeze-repeats (-s), tr zastêpuje w wej¶ciu ka¿d± sekwencjê powtórzonych znaków znajduj±cych siê w zb1 pojedynczym wyst±pieniem tego¿ znaku.
Je¶li podano zarówno opcjê --delete jak i --squeeze-repeats, tr najpierw wykonuje wszelkie usuniêcia u¿ywaj±c zb1, potem ¶ciska powtórzenia pozosta³ych znaków u¿ywaj±c zb2.
Opcji --squeeze-repeats mo¿na tak¿e u¿ywaæ podczas t³umaczenia. Wówczas tr najpierw dokonuje t³umaczenia, potem ¶ciska powtórzenia pozosta³ych znaków u¿ywaj±c zb2.
Oto kilka przyk³adów ilustruj±cych ró¿ne kombinacje opcji:
Usuwanie wszystkich bajtów zerowych:
- tr -d '\000'
Umieszczenie ka¿dego s³owa w osobnej linii. Konwertuje to wszystkie znaki nie-alfanumeryczne na znaki nowej linii, potem ¶ciska ka¿dy ³añcuch powtórzonych nowych linii w pojedyncz± now± liniê:
- tr -cs '[a-zA-Z0-9]' '[\n*]'
Konwersja ka¿dej sekwencji powtórzonych nowych linii w pojedyncz± now± liniê:
- tr -s '\n'
Wyszukiwanie w dokumencie podwójnych wyst±pieñ s³ów. Na przyk³ad, zdarza siê pisanie "do do", powtórzonych s³ów rozdzielonych znakiem nowej linii. Poni¿szy skrypt pow³oki Bourne'a najpierw zamienia ka¿d± sekwencjê znaków interpunkcyjnych i znaków pustych na pojedynczy znak nowej linii. Powoduje to umieszczenie ka¿dego "s³owa" w osobnej linii. Nastêpnie zamienia wszystkie du¿e litery na ma³e, i, na koniec, uruchamia `uniq' z opcj± `-d', co powoduje wypisanie tylko s³ów, które by³y powtórzone obok siebie.
-
#!/bin/sh cat "$@" \ | tr -s '[:punct:][:blank:]' ' \ | tr '[:upper:]' '[:lower:]' \ | uniq -d
GNU tr akceptuje tak¿e nastêpuj±ce opcje, w kombinacji z innymi:
- --help
- Wy¶wietla informacjê o stosowaniu programu i dostêpnych opcjach, koñczy pracê.
- --version
- Wy¶wietla numer wersji programu i koñczy pracê.
KOMUNIKATY OSTRZEGAWCZE
Ustawienie zmiennej ¶rodowiskowej POSIXLY_CORRECT wy³±cza niektóre ostrze¿enia i komunikaty o b³êdach, dla ¶cis³ej zgodno¶ci z POSIX.2. Komunikaty te wystêpuj± normalnie w nastêpuj±cych okoliczno¶ciach:
1. Gdy podano opcjê --delete, ale nie --squeeze-repeats, a podano ³añcuch2, GNU tr domy¶lnie wypisuje komunikat o u¿yciu i koñczy pracê, poniewa¿ ³añcuch2 nie zosta³by u¿yty. Specyfikacja POSIX mówi, ¿e ³añcuch2 nale¿y w tej sytuacji zignorowaæ. Jednak milcz±ce ignorowanie argumentów to z³y pomys³.
2. Gdy podano niejednoznaczne specjalne sekwencje ósemkowe. Dla przyk³adu, \400 to faktycznie \40 plus cyfra 0, poniewa¿ ósemkowa warto¶æ 400 nie mie¶ci siê w pojedynczym bajcie.
Zauwa¿ ¿e GNU tr nie zapewnia pe³nej zgodno¶ci z BSD lub System V. Dla przyk³adu, nie istnieje opcja wy³±czaj±ca interpretacjê konstrukcji POSIX-owych [:alpha:], [=c=], i [c*10]. GNU tr nie usuwa tak¿e automatycznie bajtów zerowych, w odró¿nieniu od tradycyjnych wersji UNIXowych, w których nie ma sposobu zachowania bajtów zerowych.
ZG£ASZANIE B£ÊDÓW
B³êdy proszê zg³aszaæ, w jêz. ang., do <bug-textutils@gnu.org>.COPYRIGHT
Copyright © 1999 Free Software Foundation, Inc.This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ZOBACZ TAK¯E
expand(1), unexpand(1), textutils(1).OD T£UMACZA
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzêdzi tekstowych GNU wersji 2.0.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre