Bash
Za pomocą sortowania
Szukaj…
Wprowadzenie
sort to uniksowe polecenie porządkowania danych w plikach w sekwencji.
Składnia
- sort [opcja] nazwa pliku
Parametry
Opcja | Znaczenie |
---|---|
-u | Spraw, aby każda linia wyjściowa była wyjątkowa |
Uwagi
Pełna instrukcja obsługi sort
online
Sortuj dane wyjściowe polecenia
Polecenie sort
służy do sortowania listy linii.
Dane wejściowe z pliku
sort file.txt
Dane wejściowe z polecenia
Możesz posortować dowolne polecenie wyjściowe. W przykładzie lista plików zgodnych ze wzorcem.
find * -name pattern | sort
Spraw, aby wyjście było wyjątkowe
Jeśli każdy wiersz wyniku musi być unikalny, dodaj opcję -u
.
Aby wyświetlić właściciela plików w folderze
ls -l | awk '{print $3}' | sort -u
Sortowanie numeryczne
Załóżmy, że mamy ten plik:
test>>cat file
10.Gryffindor
4.Hogwarts
2.Harry
3.Dumbledore
1.The sorting hat
Aby posortować ten plik numerycznie, użyj opcji sort z opcją -n:
test>>sort -n file
To powinno posortować plik jak poniżej:
1.The sorting hat
2.Harry
3.Dumbledore
4.Hogwarts
10.Gryffindor
Odwracanie kolejności sortowania: Aby odwrócić kolejność sortowania, użyj opcji -r
Aby odwrócić porządek sortowania powyższego pliku, użyj:
sort -rn file
To powinno posortować plik jak poniżej:
10.Gryffindor
4.Hogwarts
3.Dumbledore
2.Harry
1.The sorting hat
Sortuj według kluczy
Załóżmy, że mamy ten plik:
test>>cat Hogwarts
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Hermione Goyle Lockhart Tonks
Ron Snape Olivander Newt
Ron Goyle Flitwick Sprout
Aby posortować ten plik za pomocą kolumny jako klucza, użyj opcji k:
test>>sort -k 2 Hogwarts
Spowoduje to posortowanie pliku z kolumną 2 jako kluczem:
Ron Goyle Flitwick Sprout
Hermione Goyle Lockhart Tonks
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Teraz, jeśli musimy posortować plik z kluczem dodatkowym wraz z kluczem podstawowym, użyj:
sort -k 2,2 -k 1,1 Hogwarts
Najpierw posortuje plik z kolumną 2 jako klucz podstawowy, a następnie plik z kolumną 1 jako klucz dodatkowy:
Hermione Goyle Lockhart Tonks
Ron Goyle Flitwick Sprout
Harry Malfoy Rowena Helga
Gryffindor Slytherin Ravenclaw Hufflepuff
Ron Snape Olivander Newt
Jeśli musimy posortować plik z więcej niż 1 kluczem, to dla każdej opcji -k musimy określić, gdzie kończy się sortowanie. Zatem -k1,1 oznacza rozpoczęcie sortowania w pierwszej kolumnie i zakończenie sortowania w pierwszej kolumnie.
-t opcja
W poprzednim przykładzie plik miał domyślny ogranicznik - tab. W przypadku sortowania pliku, który ma domyślny ogranicznik, potrzebujemy opcji -t, aby określić ogranicznik. Załóżmy, że mamy plik jak poniżej:
test>>cat file
5.|Gryffindor
4.|Hogwarts
2.|Harry
3.|Dumbledore
1.|The sorting hat
Aby posortować ten plik według drugiej kolumny, użyj:
test>>sort -t "|" -k 2 file
Spowoduje to posortowanie pliku jak poniżej:
3.|Dumbledore
5.|Gryffindor
2.|Harry
4.|Hogwarts
1.|The sorting hat