1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
|
.\" poszerzenie i aktualizacja do GNU textutils 2.0 PTM/WK/2000-IV
.ig
Transl.note: based on GNU man page sort.1 and textutils.info
Copyright 1994, 95, 96, 1999 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Foundation.
..
.TH SORT "1" FSF "sierpie 1999" "Narzdzia tekstowe GNU 2.0"
.SH NAZWA
sort \- posortuj linie plikw tekstowych
.SH SKADNIA
.TP 6
.B sort
.RB [ \-cgmus ]
.RB [ \-t
.IR separator ]
.RB [ \-o
.IR plik-wyj ]
.RB [ \-T
.IR kat-tymcz ]
.br
.RB [ \-bdfiMnrz ]
.RI [ \fB+\fPpoz1
.RI [ \fB\-\fPpoz2 ]]
.RB [ \-k
.IR poz1 [, poz2 ]]
.br
.RI [ plik ...]
.TP 6
.B sort
.RB [ \-\-help ]
.RB [ \-\-version ]
.SH OPIS
Dokumentacja niniejsza nie jest ju utrzymywana i moe by niedokadna
lub niekompletna. Autorytatywnym rdem jest obecnie dokumentacja
Texinfo. Dostp do niej uzyskasz wpisujc w wierszu polece:
.RS
.B pinfo sort
.RE
lub
.RS
.BR "info sort" .
.RE
.PP
Ta strona podrcznika opisuje polecenie \fBsort\fP w wersji GNU.
.PP
.B sort
sortuje, zlepia lub porwnuje wszystkie linie z podanych plikw, lub
standardowego wejcia jeli nie podano adnych. Nazwa pliku '\-' oznacza
standardowe wejcie.
Domylnie,
.B sort
wypisuje rezultaty na standardowe wyjcie.
.PP
.B sort
ma trzy tryby dziaania: sortowanie (domylnie), zlepianie i sprawdzanie
posortowania. Nastpujce opcje zmieniaj tryb dziaania:
.TP
.B \-c
Sprawdza czy podane pliki s ju posortowane; jeli nie wszystkie s,
wypisuje komunikat o bdzie i koczy prac z kodem rwnym 1.
.TP
.B \-m
Zlepia podane pliki sortujc je jako grup. Kady plik wejciowy powinien
by ju posortowany indywidualnie. \fBsort\fP dziaa zawsze sortujc, a nie
lepic; zlepianie udostpniono poniewa jest ono szybsze w tych
przypadkach, w ktrych dziaa.
.PP
Para linii porwnywana jest jak nastpuje:
Jeli podano jakie pola kluczowe,
.B sort
porwnuje kad par pl, w porzdku podanym w linii komend, wedug
skojarzonych opcji porzdkowania, a znaleziona zostanie rnica albo
przeszukane zostan wszystkie pola. Wszystkie porwnania wykorzystuj
porzdek znakw okrelony przez ustawienie narodowe \fBLC_COLLATE\fP,
chyba e podano inaczej.
.PP
Jeli uyto ktrej z globalnych opcji
.BR Mbdfinr ,
ale nie podano pl kluczowych,
.B sort
porwnuje cae linie wedug opcji globalnych.
.PP
W kocu, w ostatniej prbie, kiedy wszystkie porwnywane klucze s rwne
(lub nie podano adnych opcji porzdkujcych),
.B sort
porwnuje linie bajt po bajcie w kolejnoci sklejania zalenej od maszyny.
Ostatnia prba porwnania bierze pod uwag opcj
.BR -r .
Opcja
.B \-s
(stable) wycza ostatni prb porwnania, tak e linie, w ktrych wszystkie
pola s rwnie w porwnaniu zostaj pozostawione w pierwotnej kolejnoci
wzgldnej. Jeli nie podano adnych pl ani opcji globalnych,
.B \-s
nie wywouje efektw.
.PP
GNU
.B sort
nie ma limitw co do dugoci linii ani ogranicze co do bajtw
dozwolonych w linii. Dodatkowo, jeli ostatni bajt pliku wejciowego
nie jest now lini, GNU
.B sort
po cichu takow dostawia. Koczcy lini znak nowej linii w porwnywaniu
jest jej czci. Na przykad, bez opcji, przy sortowaniu ASCII, linia
rozpoczynajca si tabulacj zostanie umieszczona przed pust lini, gdy
w porzdku leksykograficznym ASCII znak tabulacji poprzedza znak nowej linii.
.PP
Przy bdzie \fBsort\fP koczy prac z kodem '2'.
.PP
Jeli ustawiono zmienn rodowiskow
.BR TMPDIR ,
.B sort
uywa jej jako katalogu w ktrym naley umieci pliki tymczasowe,
zamiast domylnego /tmp. Opcja
.BI \-T " kat-tymcz"
jest jeszcze jednym sposobem wybrania katalogu dla plikw tymczasowych;
zastpuje ona ow zmienn rodowiskow.
.PP
Ponisze opcje wpywaj na porzdkowanie linii wyjcia. Mog by
one okrelone globalnie lub jako cz konkretnego pola kluczowego.
Jeli nie podano adnego pola kluczowego, opcje globalne stosuj si
do porwna caych linii; w przeciwnym razie opcje globalne s dziedziczone
przez pola kluczowe, dla ktrych nie okrelono adnych specjalnych opcji.
Opcje
.BR -b ", " -d ", " -f " i " -i
klasyfikuj znaki zgodnie z ustawieniami narodowymi \fBLC_CTYPE\fP.
.TP
.B \-b
Ignoruje pocztkowe znaki puste podczas szukania kluczy sortowania w
kadej linii.
.TP
.B \-d
Sortuje w porzdku 'ksiki telefonicznej': podczas sortowania ignoruje
wszystkie znaki oprcz liter, cyfr i znakw pustych.
.TP
.B \-f
Podstawia znaki maych liter za odpowiednie znaki duych liter podczas
sortowania tak aby, na przykad, 'b' sortowao si tak samo jak 'B'.
.TP
.B \-g
Sortuje numerycznie, posugujc si standardow funkcj C \fIstrtod\fP,
przeksztacajc przedrostek kadej linii na liczb zmiennoprzecinkow
podwjnej precyzji. Umoliwia to podawanie liczb zmiennoprzecinkowych
w notacji naukowej, jak '1.0e-34' czy '10e100'. Nie zgasza nadmiaru,
niedomiaru czy bdw konwersji. Wykorzystuje nastpujcy porzdek
leksykograficzny:
.IP
* linie nie rozpoczynajce si liczbami (wszystkie uwaane za rwne).
.IP
* wartoci NaN ("Not a Number") w arytmetyce zmiennoprzecinkowej IEEE
w spjnej, ale zalenej od architektury komputera kolejnoci.
.IP
* minus nieskoczono.
.IP
* liczby skoczone w kolejnoci rosncej (z rwnymi -0 i +0).
.IP
* plus nieskoczono.
.PP
Opcji tej naley uywa tylko wtedy, gdy nie ma innej alternatywy; jest
znacznie wolniejsza ni \fB-n\fP i przy konwersji na zmiennoprzecinkowe mona
utraci informacj.
.TP
.B \-i
Ignoruje znaki niedrukowalne (spoza zakresu ASCII 040-176 semkowo, wcznie)
podczas sortowania.
.TP
.B \-M
Kady pocztkowy acuch skadajcy si z dowolnej iloci biaych znakw
plus trzy litery bdce skrtem nazwy miesica jest zamieniany na
DUE litery i porwnywany w porzdku 'JAN' < 'FEB' < ... < 'DEC.'
Przy porwnywaniu nieprawidowe nazwy s mniejsze od poprawnych.
Ustawienie narodowe \fBLC_TIME\fP wyznacza pisowni nazw miesicy.
.TP
.B \-n
Sortowanie numeryczne: kad lini rozpoczyna liczba. Skadaj si na ni
opcjonalne biae znaki, opcjonalny znak \-, oraz zero lub wicej cyfr,
ktre mog by oddzielone separatorami tysicy, plus opcjonalnie wystpujcy
separator dziesitny i zero lub wicej cyfr dziesitnych. Ustawienie narodowe
\fBLC_NUMERIC\fP okrela znak separatora dziesitnego i separatora tysicy.
\fBsort -n\fP wykorzystuje co, co moe by uwaane za niekonwencjonaln metod
porwnywania acuchw reprezentujcych liczby zmiennoprzecinkowe. Zamiast
najpierw zamienia kady acuch na typ 'double' jzyka C a nastpnie
porwnywa ich wartoci, sort wyrwnuje znaki separatora dziesitnego w dwu
acuchach i porwnuje je znak po znaku. Jedn z korzyci z takiego podejcia
jest jego szybko. W praktyce jest to o wiele wydajniejsze ni wykonywanie
dwu odpowiednich konwersji string-double (lub nawet string-integer)
i nastpnie porwnywanie liczb podwjnej precyzji. Dodatkowo, nie wystpuje
tu towarzyszca utrata dokadnoci. Konwersja przed porwnaniem kadego
acucha na typ 'double' ograniczaaby dokadno do okoo 16 cyfr w wikszoci
systemw.
Nie jest rozpoznawany ani pocztkowy znak '+', ani notacja wykadnicza.
Do porwnywania numerycznego takich acuchw naley uy opcji \fB-g\fP.
.TP
.B \-r
Odwraca rezultat porwnania, tak i linie z wikszymi wartociami
klucza pojawiaj si w wyniku wczeniej, a nie pniej.
.PP
Inne opcje to:
.TP
.BI \-o " plik-wyj"
Wypisuje wynik do
.IR plik-wyj ,
a nie na standardowe wyjcie. Jeli
.I plik-wyj
jest jednym z plikw wejciowych,
.B sort
kopiuje go do pliku tymczasowego przed sortowaniem i wypisaniem wyniku
do
.IR plik-wyj .
.TP
.BI \-t " separator"
Uywa znaku
.I separator
jako separatora pl podczas szukania kluczy sortowania w kadej linii.
Domylnie pola oddzielone s acuchem pustym pomidzy znakami nie
bdcymi biaym znakiem i biaymi znakami. To znaczy, lini wejcia
' foo bar',
.B sort
rozkada na pola ' foo' i ' bar'. Separator pl nie jest uwaany
za cz ani pola, ktre go poprzedza ani tego, ktre po nim nastpuje.
.TP
.B \-u
W przypadku domylnym lub opcji
.BR \-m ,
wypisuje tylko pierwsz z sekwencji linii porwnanych jako rwne. Dla opcji
.B \-c
sprawdza czy adna para kolejnych linii w wyniku porwnania nie jest rwna.
.TP
.RI \fB\-k\fP " poz1" [, poz2 ]
Zalecana, POSIX-owa skadnia okrelania pl sortowania.
Pole jest czci linii pomidzy \fIpoz1\fP i \fIpoz2\fP (lub kocem linii,
jeli pominito \fIpoz2\fP) \fBwcznie\fP.
Pola i pozycje znakw numerowane s poczwszy od 1.
Zatem sortowanie wedug drugiego pola wymagaoby '\fB-k 2,2\fP'.
Poniej znajdziesz wicej przykadw.
.TP
.B \-z
Traktuje wejcie jako zestaw linii zakoczonych bajtem zerowym (znak ASCII NUL
(null)) a nie ASCII LF (koniec linii). Opcja ta moe by przydatna w poczeniu
z `\fBperl -0\fP' lub `\fBfind -print0\fP' i `\fBxargs -0\fP', ktre robi to
samo w celu niezawodnego zachowania dowolnych nazw cieek (nawet zawierajcych
znaki koca linii).
.TP
.IR \fB+\fPpoz1 " [" \fB-\fPpoz2 ]
Przestarzaa, tradycyjna opcja okrelania pl sortowania.
Okrela pole w kadej linii, ktrego naley uy jako klucza sortowanie.
Pole to skada si z czci linii zaczynajcej si na \fIpoz1\fP a do
(ale nie wcznie z) \fIpoz2\fP (albo do koca linii jeli nie podano
\fIpoz2\fP). Pola i pozycje znakw numerowane s poczwszy od 0.
.PP
Pozycja w polu sortowania w opcjach \fB-k\fP i \fB+\fP ma posta
.IB f . c\fR,
gdzie \fIf\fP to numer
pola, ktre ma zosta uyte a \fIc\fP to numer pierwszego znaku od
pocztku pola (dla \fB+\fP\fIpoz\fP) albo od koca poprzedniego pola
(dla \fB-\fP\fIpoz\fP). Cz \fB.\fP\fIc\fP pozycji moe zosta pominita;
w tym przypadku uwaa si j za oznaczajc pierwszy znak
pola. Jeli podano opcj
.BR \-b ,
cz \fB.\fP\fIc\fP okrelenia pola liczona jest od pierwszego niepustego
znaku pola (dla \fB+\fP\fIpoz\fP) lub ostatniego niepustego znaku stojcego
po poprzednim polu (dla \fB-\fP\fIpoz\fP).
.PP
Argument \fB+\fP\fIpoz\fP lub \fB-\fP\fIpoz\fP moe take zawiera doczon
dowoln z liter opcji
.BR Mbdfinr ,
wwczas dla tego konkretnego pola nie s uywane globalne opcje
porzdkowania. Opcja
.B \-b
moe by doczona niezalenie do jednej z lub obu czci \fB+\fP\fIpoz\fP i
\fB-\fP\fIpoz\fP okrelenia pola, a jeli zostaa odziedziczona z opcji
globalnych, zostanie doczona do obydwu.
Jeli uyto opcji
.B \-n
lub
.BR \-M ,
co zakada opcj
.BR \-b ,
opcja
.B \-b
stosuje si do zarwno do czci \fB+\fP\fIpoz\fP jak i \fB-\fP\fIpoz\fP
okrelenia pola. Klucze mog si rozciga na kilka pl.
.PP
Dodatkowo, kiedy GNU
.B sort
wywoany zosta z dokadnie jednym argumentem, rozpoznawane s
nastpujce opcje:
.TP
.B "\-\-help"
Wywietla informacj o stosowaniu programu i dostpnych opcjach, koczy prac.
.TP
.B "\-\-version"
Wywietla numer wersji programu i koczy prac.
.SH ZGODNE Z
.PP
Historyczne (z BSD i System V) implementacje
.B sort
rniy si w interpretacji niektrych opcji, szczeglnie
.BR \-b ,
.BR \-f ,
oraz
.BR \-n .
GNU sort naladuje zachowanie POSIXowe, ktre jest zwykle (ale nie
zawsze!) podobne do zachowania z System V.
Wedug POSIX
.B \-n
nie zakada ju
.BR \-b .
Dla spjnoci, w ten sam sposb zmieniono
.BR \-M .
Moe to wpyn na znaczenie pozycji znakw w okreleniach pl w pewnych
zagmatwanych przypadkach.
Jeli ci to gryzie, rozwizaniem jest dodanie wyranej opcji
.BR \-b .
.SH PRZYKADY
A oto nieco przykadw ilustrujcych rozmaite kombinacje opcji.
Do okrelania kluczy sortowania wykorzystywana jest w nich POSIX-owa
opcja \fB-k\fP zamiast przestarzaej skadni
.BI + poz1 - poz2 \fR.
.PP
* Sortowanie w malejcej (odwrotnej) kolejnoci numerycznej:
.nf
\fBsort -nr\fP
.fi
.PP
* Sortowanie alfabetyczne, przy pominiciu pierwszych i drugich pl. Posuguje
si pojedynczym kluczem zoonym ze znakw od pocztku trzeciego pola
do koca kadej linii:
.nf
\fBsort -k3\fP
.fi
.PP
* Sortowanie numeryczne wedug drugiego pola i rozstrzyganie przeszkd przez
.\" resolve ties by sorting
sortowanie alfabetyczne wg trzeciego i czwartego znaku pitego pola.
Znakiem ograniczajcym pola jest ':'
.nf
\fBsort -t : -k 2,2n -k 5.3,5.4\fP
.fi
Zauwa, e w przypadku napisania '\fB-k 2\fP' zamiast '\fB-k 2,2\fP',
\fPsort\fP wykorzystaby wszystkie znaki poczwszy od drugiego pola,
a skoczywszy na kocu linii jako pierwszy klucz \fInumeryczny\fP.
W wikszoci zastosowa, traktowanie jako numeryczne kluczy zoonych
z wicej ni jednego pola nie daje oczekiwanego wyniku.
Zauwa te, e do okrelnika koca pola dla pierwszego klucza zosta
zastosowany modyfikator \fB-n\fP. Byby rwnowany podaniu '\fB-k 2n,2\fP'
lub '\fB-k 2n,2n\fP'. Wszystkie modyfikatory z wyjtkiem \fBb\fP odnosz si
do odnonego \fIpola\fP, niezalenie od tego czy s doczone do okrelenia
pocztku pola, koca czy obu.
.PP
* Sortowanie pliku hase wedug pitego pola, ignorowane s pocztkowe
biae znaki. Sortowanie linii z rwnymi wartociami pitego pola wedug
numerycznego identyfikatora uytkownika z pola trzeciego:
.nf
\fBsort -t : -k 5b,5 -k 3,3n /etc/passwd\fP
.fi
Alternatyw jest zastosowanie globalnego modyfikatora numerycznego \fB-n\fP:
.nf
\fBsort -t : -n -k 5b,5 -k 3,3 /etc/passwd\fP
.fi
.PP
* Utworzenie pliku znacznikw (tags) w kolejnoci sortowania niewraliwej
na wielko liter:
.nf
\fBfind src -type f -print0 | \\
sort -t / -z -f | xargs -0 etags --append\fP
.fi
Uycie w tym przypadku '\fB-print0\fP', '\fB-z\fP' i '\fB-0\fP' oznacza, e
cieki zawierajce znaki nowej linii nie bd rozbijane przez operacj
operacj sortowania.
.PP
* Na koniec: do zignorowania zarwno pocztkowych jak i kocowych biaych
znakw mona zastosowa modyfikator \fBb\fP do kocowego okrelnika
pierwszego klucza
.nf
\fBsort -t : -n -k 5b,5b -k 3,3 /etc/passwd\fP
.fi
lub uy globalnego modyfikatora \fB-b\fP zamiast \fB-n\fP i bezporedniego
\fBn\fP przy okreleniu drugiego klucza:
.nf
\fBsort -t : -b -k 5,5 -k 3,3n /etc/passwd\fP
.fi
.SH UWAGI
Rne znaczenie numerw pl w zalenoci od uycia opcji
.B -k
stwarza zamieszania. To wszystko wina POSIX!
.SH "ZGASZANIE BDW"
Bdy prosz zgasza, w jz. ang., do <bug-textutils@gnu.org>.
.SH COPYRIGHT
Copyright \(co 1999 Free Software Foundation, Inc.
.br
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH ZOBACZ TAKE
.BR uniq (1),
.BR comm (1),
.BR ptx (1),
.BR tsort (1),
.BR textutils (1).
.SH OD TUMACZA
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzdzi tekstowych
GNU wersji 2.0.
|