Sort

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
(Utworzył nową stronę „Category:Polecenia systemu Linux == Polecenie sort == '''sort''' posortuj linie plików tekstowych === Opis === '''sort''' sortuje, zlepia lub porównuje wszystk...”)
 
 
Linia 7: Linia 7:
 
'''sort''' ma trzy tryby działania: sortowanie (domyślnie), zlepianie i sprawdzanie posortowania. Następujące opcje zmieniają tryb działania:
 
'''sort''' ma trzy tryby działania: sortowanie (domyślnie), zlepianie i sprawdzanie posortowania. Następujące opcje zmieniają tryb działania:
  
*-c
+
*'''-c'''
 
Sprawdza czy podane pliki są już posortowane; jeśli nie wszystkie są, wypisuje komunikat o błędzie i kończy pracę z kodem równym 1.
 
Sprawdza czy podane pliki są już posortowane; jeśli nie wszystkie są, wypisuje komunikat o błędzie i kończy pracę z kodem równym 1.
  
*-m
+
*'''-m'''
 
Zlepia podane pliki sortując je jako grupę. Każdy plik wejściowy powinien być już posortowany indywidualnie. '''sort''' działa zawsze sortując, a nie lepiąc; zlepianie udostępniono ponieważ jest ono szybsze w tych przypadkach, w których działa.
 
Zlepia podane pliki sortując je jako grupę. Każdy plik wejściowy powinien być już posortowany indywidualnie. '''sort''' działa zawsze sortując, a nie lepiąc; zlepianie udostępniono ponieważ jest ono szybsze w tych przypadkach, w których działa.
  
Linia 17: Linia 17:
 
Poniższe opcje wpływają na porządkowanie linii wyjścia. Mogą być one określone globalnie lub jako część konkretnego pola kluczowego. Jeśli nie podano żadnego pola kluczowego, opcje globalne stosują się do porównań całych linii; w przeciwnym razie opcje globalne są dziedziczone przez pola kluczowe, dla których nie określono żadnych specjalnych opcji. Opcje -b, -d, -f i -i klasyfikują znaki zgodnie z ustawieniami narodowymi LC_CTYPE.
 
Poniższe opcje wpływają na porządkowanie linii wyjścia. Mogą być one określone globalnie lub jako część konkretnego pola kluczowego. Jeśli nie podano żadnego pola kluczowego, opcje globalne stosują się do porównań całych linii; w przeciwnym razie opcje globalne są dziedziczone przez pola kluczowe, dla których nie określono żadnych specjalnych opcji. Opcje -b, -d, -f i -i klasyfikują znaki zgodnie z ustawieniami narodowymi LC_CTYPE.
  
*-b
+
*'''-b'''
 
Ignoruje początkowe znaki puste podczas szukania kluczy sortowania w każdej linii.
 
Ignoruje początkowe znaki puste podczas szukania kluczy sortowania w każdej linii.
  
*-d
+
*'''-d'''
 
Sortuje w porządku 'książki telefonicznej': podczas sortowania ignoruje wszystkie znaki oprócz liter, cyfr i znaków pustych.
 
Sortuje w porządku 'książki telefonicznej': podczas sortowania ignoruje wszystkie znaki oprócz liter, cyfr i znaków pustych.
  
*-f
+
*'''-f'''
 
Podstawia znaki małych liter za odpowiednie znaki dużych liter podczas sortowania tak aby, na przykład, 'b' sortowało się tak samo jak 'B'.
 
Podstawia znaki małych liter za odpowiednie znaki dużych liter podczas sortowania tak aby, na przykład, 'b' sortowało się tak samo jak 'B'.
  
*-g
+
*'''-g'''
 
Sortuje numerycznie, posługując się standardową funkcją C strtod, przekształcając przedrostek każdej linii na liczbę zmiennoprzecinkową podwójnej precyzji. Umożliwia to podawanie liczb zmiennoprzecinkowych w notacji naukowej, jak '1.0e-34' czy '10e100'. Nie zgłasza nadmiaru, niedomiaru czy błędów konwersji. Wykorzystuje następujący porządek leksykograficzny:
 
Sortuje numerycznie, posługując się standardową funkcją C strtod, przekształcając przedrostek każdej linii na liczbę zmiennoprzecinkową podwójnej precyzji. Umożliwia to podawanie liczb zmiennoprzecinkowych w notacji naukowej, jak '1.0e-34' czy '10e100'. Nie zgłasza nadmiaru, niedomiaru czy błędów konwersji. Wykorzystuje następujący porządek leksykograficzny:
  
Linia 37: Linia 37:
 
Opcji tej należy używać tylko wtedy, gdy nie ma innej alternatywy; jest znacznie wolniejsza niż -n i przy konwersji na zmiennoprzecinkowe można utracić informację.
 
Opcji tej należy używać tylko wtedy, gdy nie ma innej alternatywy; jest znacznie wolniejsza niż -n i przy konwersji na zmiennoprzecinkowe można utracić informację.
  
*-i
+
*'''-i'''
 
Ignoruje znaki niedrukowalne (spoza zakresu ASCII 040-176 ósemkowo, włącznie) podczas sortowania.
 
Ignoruje znaki niedrukowalne (spoza zakresu ASCII 040-176 ósemkowo, włącznie) podczas sortowania.
  
*-M
+
*'''-M'''
 
Każdy początkowy łańcuch składający się z dowolnej ilości białych znaków plus trzy litery będące skrótem nazwy miesiąca jest zamieniany na DU¯E litery i porównywany w porządku 'JAN' < 'FEB' < ... < 'DEC.' Przy porównywaniu nieprawidłowe nazwy są mniejsze od poprawnych. Ustawienie narodowe LC_TIME wyznacza pisownię nazw miesięcy.
 
Każdy początkowy łańcuch składający się z dowolnej ilości białych znaków plus trzy litery będące skrótem nazwy miesiąca jest zamieniany na DU¯E litery i porównywany w porządku 'JAN' < 'FEB' < ... < 'DEC.' Przy porównywaniu nieprawidłowe nazwy są mniejsze od poprawnych. Ustawienie narodowe LC_TIME wyznacza pisownię nazw miesięcy.
  
*-n
+
*'''-n'''
 
Sortowanie numeryczne: każdą linię rozpoczyna liczba. Składają się na nią opcjonalne białe znaki, opcjonalny znak -, oraz zero lub więcej cyfr, które mogą być oddzielone separatorami tysięcy, plus opcjonalnie występujący separator dziesiętny i zero lub więcej cyfr dziesiętnych. Ustawienie narodowe LC_NUMERIC określa znak separatora dziesiętnego i separatora tysięcy.
 
Sortowanie numeryczne: każdą linię rozpoczyna liczba. Składają się na nią opcjonalne białe znaki, opcjonalny znak -, oraz zero lub więcej cyfr, które mogą być oddzielone separatorami tysięcy, plus opcjonalnie występujący separator dziesiętny i zero lub więcej cyfr dziesiętnych. Ustawienie narodowe LC_NUMERIC określa znak separatora dziesiętnego i separatora tysięcy.
  
*-r
+
*'''-r'''
 
Odwraca rezultat porównania, tak że linie z większymi wartościami klucza pojawiają się w wyniku wcześniej, a nie później.
 
Odwraca rezultat porównania, tak że linie z większymi wartościami klucza pojawiają się w wyniku wcześniej, a nie później.
  
 
=== Inne opcje ===
 
=== Inne opcje ===
  
*-o plik-wyj
+
*'''-o plik-wyj'''
 
Wypisuje wynik do plik-wyj, a nie na standardowe wyjście. Jeśli plik-wyj jest jednym z plików wejściowych, sort kopiuje go do pliku tymczasowego przed sortowaniem i wypisaniem wyniku do plik-wyj.
 
Wypisuje wynik do plik-wyj, a nie na standardowe wyjście. Jeśli plik-wyj jest jednym z plików wejściowych, sort kopiuje go do pliku tymczasowego przed sortowaniem i wypisaniem wyniku do plik-wyj.
  
*-t separator
+
*'''-t separator'''
 
Używa znaku separator jako separatora pól podczas szukania kluczy sortowania w każdej linii. Domyślnie pola oddzielone są łańcuchem pustym pomiędzy znakami nie będącymi białym znakiem i białymi znakami. To znaczy, linię wejścia sort rozkłada na pola ' foo' i ' bar'. Separator pól nie jest uważany za część ani pola, które go poprzedza ani tego, które po nim następuje.
 
Używa znaku separator jako separatora pól podczas szukania kluczy sortowania w każdej linii. Domyślnie pola oddzielone są łańcuchem pustym pomiędzy znakami nie będącymi białym znakiem i białymi znakami. To znaczy, linię wejścia sort rozkłada na pola ' foo' i ' bar'. Separator pól nie jest uważany za część ani pola, które go poprzedza ani tego, które po nim następuje.
  
*-u
+
*'''-u'''
 
W przypadku domyślnym lub opcji -m, wypisuje tylko pierwszą z sekwencji linii porównanych jako równe. Dla opcji -c sprawdza czy żadna para kolejnych linii w wyniku porównania nie jest równa.
 
W przypadku domyślnym lub opcji -m, wypisuje tylko pierwszą z sekwencji linii porównanych jako równe. Dla opcji -c sprawdza czy żadna para kolejnych linii w wyniku porównania nie jest równa.
  
*-k poz1[,poz2]
+
*'''-k poz1[,poz2]'''
 
Zalecana, POSIX-owa składnia określania pól sortowania. Pole jest częścią linii pomiędzy poz1 i poz2 (lub końcem linii, jeśli pominięto poz2) włącznie. Pola i pozycje znaków numerowane są począwszy od 1. Zatem sortowanie według drugiego pola wymagałoby '-k 2,2'.
 
Zalecana, POSIX-owa składnia określania pól sortowania. Pole jest częścią linii pomiędzy poz1 i poz2 (lub końcem linii, jeśli pominięto poz2) włącznie. Pola i pozycje znaków numerowane są począwszy od 1. Zatem sortowanie według drugiego pola wymagałoby '-k 2,2'.
  

Aktualna wersja na dzień 17:20, 22 kwi 2012

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Narzędzia


Sponsor serwisu

Firma informatyczna ITProjek Bydgoszcz usługi informacztyczne, serwery, linux, windows, strony www, hosting, sieci komputerowe, system archiwizacji danych