Provided by:
manpages-pl_20060617-1_all 
NAZWA
ptx - tworzy indeks permutacyjny zawartości pliku
SKŁADNIA
ptx [opcja]... [wejcie]... (bez -G)
ptx -G [opcja]... [wejcie [wyjcie]]
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 ptx
lub
info ptx.
Ta strona podręcznika opisuje polecenie ptx w wersji GNU.
ptx czyta plik tekstowy i tworzy indeks permutacyjny, z każdym słowem
kluczowym umieszczonym we własnym kontekście.
Opcja -G (lub równoważna jej --traditional) wyłącza wszystkie
rozszerzenia GNU i przywraca tryb tradycyjny, wprowadzając w ten sposób
pewne ograniczenia i zmieniając niektóre wartości domyślne opcji
programu. Jeżeli nie podano -G, to rozszerzenia GNU są zawsze aktywne.
Są one opisane w odpowiednich miejscach tej dokumentacji.
Poszczególne opcje wyjaśniono w dalszych sekcjach.
Przy włączonych rozszerzeniach GNU, po opcjach może wystąpić zero,
jeden lub kilka plikw. Jeżeli nie podano plików, to program czyta
standardowe wejście. Jeżeli podano jakieś pliki wejściowe, to są one
czytane naraz tak, jakby były sklejone. Są jednak zupełnie rozdzielone
kontekstowo, i, przy żądaniu automatycznego tworzenia odnośników, nazwy
plików i numery linii odnoszą się do poszczególnych tekstowych plików
wejściowych. We wszystkich przypadkach program tworzy indeks
permutacyjny na standardowym wyjściu.
Przy wyczonych rozszerzeniach GNU, to znaczy, gdy program działa w
tradycyjnym trybie pracy, oprócz opcji może istnieć zero, jeden lub dwa
parametry.
Jeśli nie ma parametrów, to program czyta standardowe wejście i tworzy
indeks permutacyjny na standardowym wyjściu. Jeżeli jest tylko jeden
parametr, to określa on nazwę pliku wejściowego, z którego, zamiast ze
standardowego wejścia, będzie prowadzony odczyt. Jeżeli podano dwa
parametry, to określają one odpowiednio plik wejściowy i tworzony plik
wyjściowy. Bd bardzo ostrony, gdyż w tym przypadku zawartość pliku
podanego jako przez drugi parametr jest niszczona. Zachowanie takie
podyktowane jest wyłącznie zgodnością z ptx Systemu V, gdyż Standardy
GNU stanowczo odradzają parametry wyjściowe nie poprzedzane opcją.
Zauważ, że jako dowoln z nazw plików wejściowych lub wartość opcji
określającej plik można podać pojedynczy myślnik '-'. W takim przypadku
przyjmowane jest standardowe wejście. Jednak nie ma sensu używanie tej
konwencji więcej niż raz w danym wywołaniu programu.
Argumenty obowiązkowe dla długich opcji są również obowiązkowe dla
krótkich opcji.
Opcje ogólne
-C, --copyright
Wypisuje krótką notę o prawach autorskich i warunkach
kopiowania, następnie kończy pracę bez dalszego przetwarzania.
-G, --traditional
Jak już wyjaśniono, wyłącza wszystkie rozszerzenia GNU ptx i
przełącza się na tradycyjny tryb działania.
-t, --typeset-mode
- nie zaimplementowano -
--help Wyświetla informację o stosowaniu programu i dostępnych opcjach,
kończy pracę.
--version
Wyświetla numer wersji programu i kończy pracę.
Wybór zestawu znaków
Przy obecnej konfiguracji, program zakłada, że plik jest zakodowany
przy zastosowaniu 8-bitowego ISO 8859-1, zwanego też zestawem znaków
Latin-1, chyba że zostanie skompilowany dla MS-DOS, wówczas używa
zestawu IBM-PC. (Nic nie wiadomo o tym, by GNU ptx nadal działał na
mniejszych maszynach MS-DOS.) W porównaniu z 7-bitowym ASCII, zestaw
znaków będących literami jest więc inny. Fakt ten zmienia zachowanie
dopasowywania wyrażeń regularnych. Stąd też, domyślne wyrażenie
regularne dla słowa kluczowego dopuszcza akcentowane litery i litery
spoza alfabetu angielskiego. Sortowanie słów kluczowych jest jednak
nadal niewykończone; przestrzega ślepo odnośnego uporządkowania zestawu
znaków.
-f, --ignore-case
Do celów sortowania zamienia małe litery na duże.
Wybór słów i przetwarzanie wejścia
-b plik, --break-file=plik
Zapewnia alternatywny (do -W) sposób opisywania, jakie znaki
tworzą słowa. Podany w tej opcji plik zawiera listę znaków,
które nie mog być częścią jednego słowa. Plik ten zwany jest
"plikiem podziału" ("Break file"). Każdy ze znaków nie będący
częścią pliku podziału jest składową słów. Jeżeli podano obie
opcje: -b i -W, to -W ma pierwszeństwo a -b jest ignorowana.
Przy włączonych rozszerzeniach GNU jedynym sposobem uniknięcia
interpretacji znaku nowej linii jako znaku podziału jest
zapisanie wszystkich znaków podziału w pliku nie zawierającym w
ogóle znaku nowej linii, nawet na końcu. Przy wyłączonych
rozszerzeniach GNU spacje, tabulacje i znaki nowej linii zawsze
uważane są za znaki podziału, nawet jeśli nie ma ich w pliku
podziału.
-i plik, --ignore-file=plik
Plik związany z tą opcją zawiera listę słów, które nigdy nie
powinny być brane jako słowa kluczowe w skorowidzu wyjściowym.
Zwany jest "plikiem pomijania" ("Ignore file"). Zawiera w każdej
linii dokładnie jedno słowo. Koniec linii rozdzielającej słowa
nie podlega opcji -S.
Istnieje domyślny plik pomijania używany przez ptx, gdy nie
podano niniejszej opcji, zwykle w /usr/local/lib/eign, jeśli nie
zmieniono tego podczas instalacji. Chcąc deaktywować domyślny
plik pomijania należy podać plik /dev/null.
-o plik, --only-file=plik
Plik związany z tą opcją zawiera listę słów, które pozostaną w
skorowidzu wyjściowym. Każde słowo nie ujęte w tym pliku jest
pomijane. Plik zwany jest "plikiem wyłączności" (Only file").
Zawiera po jednym słowie w każdej linii. Koniec linii
rozdzielającej słowa nie podlega opcji -S.
Dla pliku wyłączności nie ma ustawienia domyślnego. W przypadku
wystąpienia zarówno pliku pomijania jak i pliku wyłączności
słowo uważane jest za kluczowe tylko wtedy, gdy podano je w
pliku wyłączności a nie podano w pliku pomijania.
-r, --references
W każdej linii wejściowej początkowa sekwencja nie-białych
znaków zostanie przyjęta za odnośnik, którego celem jest
identyfikacja tej linii w utworzonym indeksie permutacyjnym.
Więcej na temat tworzenia odnośników znajdziesz w sekcji
Formatowanie wyników ptx. Użycie tej opcji zmienia domyślną
wartość opcji -S.
Przy wykorzystaniu opcji -r program nie próbuje zbyt usilnie
usuwać odnośników z kontekstów wyjścia, ale udaje mu się to
poprawnie jeli kontekst kończy się dokładnie na znaku nowej
linii. Jeżeli opcji tej użyto z domyślną wartością opcji -S,
lub jeśli wyłączone są rozszerzenia GNU, warunek ten jest zawsze
spełniony. Odnośniki są wówczas całkowicie wykluczone z
kontekstów wynikowych.
-S regexp, --sentence-regexp=regexp
Określa, jakie wyrażenie regularne będzie opisywać koniec linii
lub koniec zdania. W rzeczywistości istnieje inne rozróżnienie
pomiędzy końcami linii czy końcami zdań niż wynik tego wyrażenia
regularnego, a granice linii wejściowych nie mają żadnego
specjalnego znaczenia poza tą opcją. Domyślnie, gdy włączone są
rozszerzenia GNU, a nie jest używana opcja -r, używane są końce
zdań. W tym przypadku używane jest dokładne regexp zapożyczone z
GNU emacsa:
[.?!][]\"')}]*\($\\|\t\\| \\)[ \t\n]*
Gdy wyłączone są rozszerzenia GNU lub użyta opcja -r, używane są
końce linii. W tym przypadku, domyślnym wyrażeniem regularnym
jest po prostu:
\n
Zastosowanie pustego regexp jest równoważne całkowitemu
wyłączeniu rozpoznawania końca linii lub końca zdania. Cały plik
jest wówczas traktowany jak jedna długa linia lub zdanie.
Użytkownik może również zakazać generowania wszystkich flag
obcinania, korzystając z opcji -F "".
Gdy słowa kluczowe trafiają się blisko początku zdania lub linii
wejściowej, często tworzy to niewykorzystany obszar na początku
wynikowej linii kontekstu. Gdy słowa kluczowe są blisko końca
zdania lub linii wejściowej, często tworzy to niewykorzystany
obszar na końcu wynikowej linii. Program usiłuje wypełnić te
obszary zawijając kontekst w ich wnętrzu. Końcówka zdania
(linii wejściowej) używana jest do wypełnienia niewykorzystanego
obszaru po lewej stronie linii wynikowej, początek używany jest
do wypełnienia obszaru po prawej.
Dla wygody użytkownika rozpoznawanych jest wiele zwyczajowych
sekwencji specjalnych (poprzedzanych odwrotnym ukośnikiem),
jakie występują w C. Są one przekształcane na odpowiadające im
znaki przez sam ptx.
-W regexp, --word-regexp=regexp
Określa, jakie wyrażenie regularne będzie opisywać każde ze słów
kluczowych. Domyślnie, jeśli włączone są rozszerzenia GNU,
słowo jest sekwencją liter: używanym regexp jest '\w+'. Gdy
rozszerzenia GNU są wyłączone, słowem jest domyślnie wszystko
kończące się spacją, tabulacją lub znakiem nowej linii: używanym
regexp jest '[^ \t\n]+'.
Puste wyrażenie regularne jest równoważne nie podaniu tej opcji,
pozwalając zadziałać domyślnemu.
Dla wygody użytkownika rozpoznawanych jest wiele zwyczajowych
sekwencji specjalnych (poprzedzanych odwrotnym ukośnikiem),
jakie występują w C. Są one przekształcane na odpowiadające im
znaki przez sam ptx.
Formatowanie wyników
Format wynikowy jest sterowany głównie opcjami -O i -T, opisanych
poniżej. Jeżeli nie wybrano ani opcji -O ani -T, a włączone są
rozszerzenia GNU, to program wybiera format wyjściowy odpowiedni dla
terminala uproszczonego. Każde wystąpienie słowa kluczowego wypisywane
jest na środku jednej linii, otoczone przez swój lewy i prawy kontekst.
Pola są poprawnie wyrównywane, więc skorowidz wynikowy można z
łatwością studiować. Jeżeli wybrano automatyczne odnośniki opcją -A i
są one wypisane przed lewym kontekstem, to jest, jeżeli nie wybrano
opcji -R, to po odnośniku dodawany jest dwukropek. Ładnie współpracuje
to z przetwarzaniem przez GNU Emacsa 'next-error'. W tym domyślnym
formacie wyjściowym, każdy biały znak, jak znak nowej linii czy
tabulacja, jest po prostu zamieniany na dokładnie jedną spację, bez
specjalnych prób kompresowania ciągu kolejnych spacji. W przyszłości
może się to zmienić. Za wyjątkiem białych znaków, każdy inny znak
odnośnego zestawu 256 znaków przekazywany jest dosłownie.
Format wyjściowy sterowany jest dodatkowo poniższymi opcjami.
-g liczba, --gap-size=liczba
Określa rozmiar minimalnej przerwy pomiędzy polami w linii
wyjściowej.
-w liczba, --width=liczba
Określa maksymalną szerokość każdej ostatecznej linii wyjścia.
Jeżeli stosowane są odnośniki, to są one ujęte lub nie ujęte w
tej szerokości w zależności od wartości opcji -R. Jeżeli nie
użyto tej opcji, to znaczy, gdy odnośniki wypisywane są przed
lewym kontekstem, maksymalna szerokość wyjścia bierze pod uwagę
maksymalną długość wszystkich odnośników. Jeżeli użyto opcji -R,
to znaczy, gdy odnośniki wypisywane są po prawym kontekście,
maksymalna szerokość nie uwzględnia miejsca zajętego przez
odnośniki ani przerw, które je poprzedzają.
-A, --auto-reference
Tworzy automatyczne odnośniki. Każda linia wejściowa będzie
posiadać automatyczny odnośnik utworzony z nazwy pliku i liczby
porządkowej linii, z pojedynczym dwukropkiem między nimi. Jednak
nazwa pliku będzie pusta, jeśli odczytywane jest standardowe
wejście. Jeżeli podano zarówno opcję -A jak i -r, to wejściowy
odnośnik jest nadal czytany i przeskakiwany, ale podczas
wypisywania wyników używany jest automatyczny odnośnik,
przesłaniając wejściowy odnośnik.
-R, --right-side-refs
W domyślnym formacie wyjściowym, gdy nie jest używana opcja -R,
każdy odnośnik utworzony w wyniku opcji -r lub -A podawany jest
w skrajnej prawej części linii wyjściowej, po prawym kontekście.
W domyślnym formacie wyjściowym, przy podanej opcji -R,
odnośniki są natomiast podawane na początku linii wyjściowej,
przed lewym kontekstem. W każdym innym formacie wyjściowym
opcja -R jest niemal ignorowana, z wyjątkiem tego, że szerokość
odnośników nie jest wówczas jest wliczana do całkowitej
szerokości wyjścia podanej przez -w.
Opcja ta jest wybierana automatycznie przy wyłączeniu rozszerzeń
GNU.
-F acuch, --flac-truncation=acuch
Żąda, by każde obcięcie w wyjściu było zgłoszone za pomocą
acucha. Większość pól wynikowych teoretycznie rozciąga się w
stronę początku lub końca bieżącej linii, lub bieżącego zdania,
jak ustalono opcją -S. Istnieje jednak maksymalna dozwolona
szerokość linii wyjściowej, zmieniana opcją -w, która jest
następnie dzielona na części dla różnych pól wyjściowych. Jeżeli
pole nie może się rozciągać aż do początku lub końca bieżącej
linii i mieścić w zadanej szerokości, wówczas następuje
obcięcie. Domyślnie łańcuchem oznaczający obcięcie jest
pojedynczy ukośnik, jak w '-F /'.
acuch może mieć więcej niż jeden znak, jak w '-F ...'. W
szczególnym przypadku, gdy acuch jest pusty ('-F ""'),
oznaczanie obcięcia jest wyłączane. Nie są wówczas dołączane
żadne znaczniki obcięcia.
Dla wygody użytkownika rozpoznawanych jest wiele zwyczajowych
sekwencji specjalnych (poprzedzanych odwrotnym ukośnikiem),
jakie występują w C. Są one przekształcane na odpowiadające im
znaki przez sam ptx.
-Macuch, --macro-name=acuch
Określa inny acuch, jaki ma być stosowany zamiast 'xx' przy
tworzeniu wyjścia odpowiedniego dla nroff, troff lub TeX.
-O, --format=roff
Wybiera format wyjściowy odpowiedni dla przetwarzania przez
nroff lub troff. Linie wyjściowe są typu:
więc możliwe będzie napisanie makra '.xx' roff-a do obsługi
składu otrzymanego wyjścia. Jest to domyślny format wyjścia, gdy
wyłączone są rozszerzenia GNU. Opcją -M można zmienić 'xx' na
inną nazwę makra.
W tym formacie każdy znak nie-graficzny, jak znak nowej linii
czy tabulacja, jest po prostu zamieniany na dokładnie jedną
spację, bez specjalnych prób kompresowania ciągu kolejnych
spacji. Wszystkie znaki cytowania: `"' są podwajane, by zostały
poprawnie przetworzone przez nroff czy troff.
-T, --format=tex
Wybiera format wyjściowy odpowiedni dla przetwarzania przez TeX.
Linie wyjściowe są typu:
\xx {KOŃC}{PRZED}{SŁOWOKLUCZ}{PO}{POCZ}{ODNOŚNIK}
więc możliwe będzie napisanie definicji '\xx' do obsługi składu
otrzymanego wyjścia. Zauważ, że gdy nie są tworzone odnośniki,
to znaczy, gdy nie użyto ani opcji -A ani -r, nie pojawia się
ostatni parametr każdego wywołania '\xx'. Opcją -M można zmienić
'xx' na inną nazwę makra.
W tym formacie niektóre znaki specjalne, jak '$','%', '&'
poprzedzenie ich odwrotnym ukośnikiem. Nawiasy klamrowe '{','}'
też są chronione w ten sposób, ale również ujęte między parę
znaków dolara, by wymusić tryb matematyczny. Sam odwrotny
ukośnik generuje sekwencję '\backslash{}'. Daszki (circumflex) i
tyldy nad literami generują odpowiednio sekwencje '^\{ }' i '~\{
}'. Inne znaki diakrytyczne w odnośnym zestawie znaków dają
odpowiednie sekwencje TeX-a, na ile jest to możliwe. Inne znaki
nie-graficzne, jak znak nowej linii, i tabulacja, i wszystkie
inne znaki nie będące częścią ASCII, są po prostu zamieniane na
dokładnie jedną spację, bez specjalnych prób kompresowania ciągu
kolejnych spacji. Proszę dać znać autorowi jak ulepszyć
przetwarzanie tych znaków specjalnych dla TeX-a.
Rozszerzenia GNU
Ta wersja ptx zawiera kilka cech nieistniejących w ptx z Systemu V.
Można je wyeliminować przy pomocy opcji -G linii poleceń, chyba że
zostanie ona przesłonięta przez inne opcje. Niektóre rozszerzenia nie
mogą być przywrócone przez przesłonięcie, zatem prostą zasadą jest
unikanie -G jeżeli chce się korzystać z rozszerzeń GNU. Poniżej podano
różnice pomiędzy tym programem a ptx z Systemu V.
* Niniejszy program potrafi czytać wiele plików wejściowych naraz,
zawsze zapisuje powstały skorowidz na standardowe wyjście. Z
drugiej strony, ptx z System V czyta tylko jeden plik i tworzy
wynik na standardowym wyjściu lub, jeśli w wywołaniu polecenia
podano drugi parametr plik, w zadanym pliku.
Posługiwanie się parametrami wyjścia nie poprzedzonymi opcjami
jest dość niebezpieczną praktyką, której GNU w miarę możliwości
unika. Zatem, przy posługiwaniu się ptx przenośnie między GNU a
System V, powinno się zwracać uwagę, by zawsze używać go z
jednym plikiem wejściowym i zawsze oczekiwać wyniku na
standardowym wyjściu. Można również automatycznie skonfigurować
wywoływania ptx z opcją -G w produktach go używających, jeśli
konfigurator zauważy, że instalowany ptx akceptuje -G.
* Jedynymi opcjami dostępnymi w ptx z System V są '-b', '-f',
'-g', '-i', '-o', '-r', '-t' i '-w'. Wszystkie inne opcje są
rozszerzeniami GNU i nie są powtórzone w tym wyliczeniu.
Ponadto, niektóre opcje mają nieco inne znaczenie przy
włączonych rozszerzeniach GNU, jak wyjaśniono poniżej.
* Domyślnie, skorowidz wyjściowy nie jest sformatowany dla 'troff'
czy 'nroff'. Zamiast tego sformatowany jest dla terminala
uproszczonego. Wyjście dla 'troff' lub 'nroff' można wybrać
opcją -O.
* Dopóki nie użyto opcji -R maksymalna szerokość odnośników jest
odejmowana od całkowitej szerokości linii wyjściowej. Przy
wyłączonych rozszerzeniach GNU, szerokość odnośników nie jest
uwzględniana w obliczeniach szerokości linii wyjściowej.
* Czytane i przetwarzane z pliku wejściowego są zawsze wszystkie z
256 znaków zestawu, nawet znaki NUL, bez niepoprawnego efektu,
nawet gdy rozszerzenia GNU są wyłączone. Jednak ptx z Systemu V
nie przyjmuje 8-bitowych znaków, odrzucanych jest kilka znaków
sterujących, a tylda '~' jest potępiona.
* Długość linii wejściowej jest ograniczona tylko dostępną
pamięcią, nawet przy wyłączonych rozszerzeniach GNU. Jednak ptx
z Systemu V przetwarza tylko 200 pierwszych znaków linii.
* Domyślnymi znakami podziału (nie-słowami) są wszystkie znaki
oprócz liter odnośnego zestawu znaków, diakrytycznych lub nie.
Przy wyłączonych rozszerzeniach GNU domyślnymi znakami podziału
są wyłącznie spacja, tabulacja i znak nowej linii.
* Program lepiej posługuje się szerokością linii wyjściowej.
Jeżeli wyłączono rozszerzenia GNU, program próbuje zamiast tego
imitować ptx z System V, ale istnieje kilka niewielkich
zakłóceń, których niniejszy program całkowicie nie powiela.
* Użytkownik może podać równocześnie plik pomijania i plik
wyłączności. W ptx z System V nie jest to dozwolone.
ZGŁASZANIE BŁĘDÓW
Błędy proszę zgłaszać, w jęz. ang., do <bug-textutils@gnu.org>.
COPYRIGHT
Copyright (C) 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
sort(1), uniq(1), comm(1), tsort(1), textutils(1).
OD TŁUMACZA
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi
tekstowych GNU wersji 2.0.