Sie können verwenden sort
:
sort -k8,8 <<EOF drwxr-sr-x 2 user group 4096 2018-02-19 14:11:42 /something/project/somefile drwxr-sr-x 2 user group 4096 2018-02-19 00:14:50 /blah-blah/anything -rw-r----- 1 someone users 2188 2018-07-21 13:52:59 /aaa/222 drwxr-S--- 2 someone users 4096 2018-06-25 14:27:42 /bbb/333/anything/whatever -rw-r----- 1 someone users 715 2018-06-16 20:09:58 /xxx/aaa/666 EOF
-k
Wählt das Feld aus, nach dem sortiert werden soll, 8,8
sagt, dass die Daten von Feld 8 bis Feld 8 sortiert werden sollen.
Sie können -t
das Feldtrennzeichen definieren, obwohl hier der Standardwert fein ist (nicht leerer zu leerer Übergang).
Ausgabe:
-rw-r----- 1 someone users 2188 2018-07-21 13:52:59 /aaa/222 drwxr-S--- 2 someone users 4096 2018-06-25 14:27:42 /bbb/333/anything/whatever drwxr-sr-x 2 user group 4096 2018-02-19 00:14:50 /blah-blah/anything drwxr-sr-x 2 user group 4096 2018-02-19 14:11:42 /something/project/somefile -rw-r----- 1 someone users 715 2018-06-16 20:09:58 /xxx/aaa/666
Um nachzufragen, haben Sie gefragt:
Meine Datei, die die Liste enthält, enthält auch N Anfangs- und M Endzeilen, die nicht in der oben gezeigten spaltenartigen Form sind. Leider bringt die Sortierung sie durcheinander. Wie kann ich diese Zeilen ausschließen und nur die Spalten sortieren?
Sie müssen wissen, wie viele Zeilen sich vor / in / nach dem zu sortierenden Block befinden, und Sie können die unten verwendeten Werte durch Variablen ersetzen. Eine einfache Pipeline wie unten gezeigt kann gut funktionieren.
Inhalt von data.txt
:
Zline1 Zline2 drwxr-sr-x 2 user group 4096 2018-02-19 14:11:42 /something/project/somefile drwxr-sr-x 2 user group 4096 2018-02-19 00:14:50 /blah-blah/anything -rw-r----- 1 someone users 2188 2018-07-21 13:52:59 /aaa/222 drwxr-S--- 2 someone users 4096 2018-06-25 14:27:42 /bbb/333/anything/whatever -rw-r----- 1 someone users 715 2018-06-16 20:09:58 /xxx/aaa/666 AlineN-1 AlineN
Pipeline:
(head -n 2; head -n 5 | sort -k8,8; cat) < data.txt
Ausgabe:
Zline1 Zline2 -rw-r----- 1 someone users 2188 2018-07-21 13:52:59 /aaa/222 drwxr-S--- 2 someone users 4096 2018-06-25 14:27:42 /bbb/333/anything/whatever drwxr-sr-x 2 user group 4096 2018-02-19 00:14:50 /blah-blah/anything drwxr-sr-x 2 user group 4096 2018-02-19 14:11:42 /something/project/somefile -rw-r----- 1 someone users 715 2018-06-16 20:09:58 /xxx/aaa/666 AlineN-1 AlineN