Wykorzystanie polecenia SORT do poukładania zawartości plików tekstowych.
Składnia: sort [opcja] [plik]
Podstawowe opcje
-b – ignnoruje początkowe znaki odstępu
-d – bierze pod uwagę wyłącznie litery, cyfry i znaki odstępu
-f – traktuje małe litery jak wielkie
-g – porównuje według wartości liczbowej
-i – bierze pod uwagę wyłącznie znaki drukowalne
-M – kolejność miesięcy, porządek: (nieznane) < sty < … < gru
-h – porównuje liczby w formacie czytelnym dla ludzi (np. 2K, 1G)
-n – porównuje zgodnie z liczbową wartością łańcucha
-R – sortuje wg losowego skrótu kluczy
-r – odwraca porządek sortowania
-m – łączy pliki posortowane wcześniej, nie sortuje
-o – wypisuje wynik do PLIKU zamiast na standardowe wyjście
-u – z opcją -c: sprawdza czy wiersze są unikalne, bez opcji -c: wyświetla tylko pierwszy z identycznych wierszy
Więcej opcji dostępnych jest po użyciu komendy man sort
Przykłady
Operacji dokonywać będziemy na pliku przyklad o następującej zawartości:
Kot 2
Zebra 45
Pies 3
mysz 1
Kojot 6
Kot 7
Baran 4
Anakonda 5
Gepard 13
leniwiec 10
Podstawowe sortowanie linii pliku tekstowego
sort przyklad
Anakonda 5
Baran 4
Gepard 13
Kojot 6
Kot 2
Kot 7
leniwiec 10
mysz 1
Zebra 45
Pies 3
Odwrotna kolejność
sort przyklad -r
Pies 3
Zebra 45
mysz 1
leniwiec 10
Kot 7
Kot 2
Kojot 6
Gepard 13
Baran 4
Anakonda 5
Przesłanie wyniku do pliku wynik zamiast na standardowe wyjście:
sort przyklad -o wynik
sort przyklad > wynik
Sortowanie według drugiej kolumny
sort przyklad -k 2
mysz 1
leniwiec 10
Gepard 13
Kot 2
Pies 3
Baran 4
Zebra 45
Anakonda 5
Kojot 6
Kot 7
Sortowanie według drugiej kolumny z uwzględnieniem, że są to wartości liczbowe
sort przyklad -k 2 -n
mysz 1
Kot 2
Pies 3
Baran 4
Anakonda 5
Kojot 6
Kot 7
leniwiec 10
Gepard 13
Zebra 45
Sortowanie z pominięciem pustych znaków na początku linii
sort przyklad -b
Anakonda 5
Baran 4
Gepard 13
Kojot 6
Kot 2
Kot 7
leniwiec 10
mysz 1
Pies 3
Zebra 45
Sortowanie w losowej kolejności
sort przyklad -R
Wyszukanie określonych plików i posortowanie ich zawartości
sort przyklad > przyklad2
find -name “*~” -print0 | sort –files0-from=-
Anakonda 5
Anakonda 5
Baran 4
Baran 4
Gepard 13
Gepard 13
Kojot 6
Kojot 6
Kot 2
Kot 2
Kot 7
Kot 7
leniwiec 10
leniwiec 10
mysz 1
mysz 1
Zebra 45
Zebra 45
Pies 3
Pies 3
Ćwiczenia
Utwórz 2 zestawienia 10 najlepszych w klasyfikacji końcowej ostatniego sezonu Formuły 1 / Skoków narciarskich. Zestawienia zapisz w katalogu zestawienia odpowiednio pod nazwami: f1, skoki.
W zestawieniu znaleźć się mają kolumnny: pozycja, nazwisko, imię, trzyliterowy kod kraju, liczba zdobytych punktów. Pozycje zestawienia oddzielone od siebie tabulatorami.
- Wypisz na ekran posortowaną w kolejności odwrotnej klasyfikację Formuły 1.
- Wypisz klasyfikację skoków posortowaną nazwiskami zawodników od A do Z.
- Wypisz klasyfikację F1 posortowaną 2 literą kodu kraju.
- Zapisz klasyfikację skoków do pliku skoki2 posortowaną w kolejności odwrotnej po liczbie punktów.
- Zapisz zestawienie zbiorcze obu klasyfikacji zapisane do pliku zbiorcze, posortowane numerem pozycji.
- Znajdź wszystkie pliki katalogu zestawienia (find) i wypisz zawartość plików na ekran posortowaną w odwrotnej kolejności.
- Zapisz zawartość wszystkich plików katalogu zestawienia do pliku całość.
Dodatkowy plik ćwiczeniowy załączony poniżej.