sort: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) |
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Der [[Shell-Befehl]] <b>sort</b> dient zum Sortieren des Inhalts von Textdateien. Standardmässig beginnt die Sortierung mit dem ersten Zeichen einer Zeile, Leerzeichen werden dabei als Spaltengrenzen interpretiert. | Der [[Shell-Befehl]] <b>sort</b> dient zum Sortieren des Inhalts von Textdateien. Standardmässig beginnt die Sortierung mit dem ersten Zeichen einer Zeile, Leerzeichen werden dabei als Spaltengrenzen interpretiert. | ||
== Optionen == | |||
== Verwendung == | == Verwendung == | ||
Zeile 49: | Zeile 53: | ||
$ <b>sort -t ";" +3n -4n +0 -1 file</b> | $ <b>sort -t ";" +3n -4n +0 -1 file</b> | ||
Sortieren der Prozesse nach | Sortieren der Prozesse nach [[Prozessnummer]]. | ||
$ <b>ps -e | sort -n | grep -l PID</b> | $ <b>ps -e | sort -n | grep -l PID</b> | ||
Zeile 67: | Zeile 71: | ||
ttymon 2 | ttymon 2 | ||
sysevent 2 | sysevent 2 | ||
Sortieren von IP-Adressen in Datei "datei". | |||
$ <b>sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n datei</b> | |||
10.0.0.5 | |||
10.0.0.20 | |||
192.168.0.2 | |||
192.168.0.4 | |||
=== Beispiele === | |||
Vorhanden sind folgende Dateien. | |||
$ <b>ls -1</b> | |||
oder | |||
$ <b>ls -1 | sort</b> | |||
ABC100.txt | |||
ABC10.txt | |||
ABC1.txt | |||
ABC200.txt | |||
ABC20.txt | |||
ABC2.txt | |||
$ <b>ls -v1</b> | |||
ABC1.txt | |||
ABC2.txt | |||
ABC10.txt | |||
ABC20.txt | |||
ABC100.txt | |||
ABC200.txt | |||
== Weblinks == | == Weblinks == | ||
{{ | {{Weblinks}} | ||
}} | {{url_enwikipedia|sort_(Unix)|sort (Unix)}} | ||
{{Fuss}} | |||
{{cat|Shell-Befehl}} | {{cat|Shell-Befehl}} | ||
{{cat|Textverarbeitung}} | {{cat|Textverarbeitung}} |
Aktuelle Version vom 5. Dezember 2021, 16:52 Uhr
Der Shell-Befehl sort dient zum Sortieren des Inhalts von Textdateien. Standardmässig beginnt die Sortierung mit dem ersten Zeichen einer Zeile, Leerzeichen werden dabei als Spaltengrenzen interpretiert.
Optionen
Verwendung
Sortierung der Datei "file", wobei das Leerzeichen als Feldtrenner gilt.
$ sort file
Sortieren Datei "file", wobei das Leerzeichen als Feldtrenner gilt. Mehrfach vorkommende Zeilen werden unterdrückt.
$ sort -u file
Sortierung der Datei "/etc/passwd", wobei das Leerzeichen als Feldtrenner gilt. Die vorhandenen Zahlen werden einfach als ASCII-Zeichenketten interpretiert, die alphabetisch sortiert werden - die Zahl 534 wird so vor 55 eingeordnet.
$ sort -t ":" -k 3 /etc/passwd
Sortierung der Datei "/etc/passwd", wobei ":" als Feldtrenner gilt. Die dritte Spalte (die UID) wird numerisch korrekt sortiert.
$ sort -t ":" -nk 3 /etc/passwd
Sortierung der Datei "/etc/passwd", wobei ":" als Feldtrenner gilt. Die dritte Spalte (die UID) wird numerisch korrekt und in umgekehrter Reihenfolge sortiert.
$ sort -t ";" -nrk 3 /etc/passwd
Sortierung der Datei "/etc/passwd", wobei ":" als Feldtrenner gilt. Zuerst wird die vierte Spalte (die GID) numerisch nach Zahlen sortiert. Danach wird die dritte Spalte (die UID) numerisch nach Zahlen in umgekehrter Reihenfolge sortiert.
$ sort -t ":" -k 4n,4 -k 3nr,3 /etc/passwd
Sortierung der Inhalte von Datei "file1". Ausgabe in Datei "file2".
$ sort file1 > file2
Sortieren der Zeilen von Datei "file1", wobei keine mehrfach vorkommenden Zeilen angezeigt werden und das Ergebnis nach Datei "file2" geschrieben wird.
$ sort file1 | uniq > file2 $ more file2 Mueller; Fritz; Gartenrain 20; 8000; Zuerich
Sortierung der Datei "file", wobei ";" als Feldtrenner gilt. Sortierung nach Spalte 4 (Postleitzahl).
$ sort -t ";" +3 -4 file
Sortierung der Datei "file", wobei ";" als Feldtrenner gilt. Sortierung nach Spalte 3 (Postleitzahl).
$ sort -t ";" +3n -4n file
Numerisches Sortieren der Zeilen von Datei "file" nach Spalte 3 (Postleitzahl) und Spalte 4 (Familienname), wobei als Feldtrenner ";" verwendet wird.
$ sort -t ";" +3n -4n +0 -1 file
Sortieren der Prozesse nach Prozessnummer.
$ ps -e | sort -n | grep -l PID
Anzeige des Inhalts des Verzeichnisses "/boot" sortiert nach Spalte fünf (Dateigrösse).
$ ls -l /boot | sort -k 5g
Anzeige der Grösse aller Dateien und Verzeichnisse im Verzeichnis "/home", numerisch korrekt in umgekehrter Reihenfolge sortiert.
$ du -s /home/* | sort -rn
Anzeige der drei am häufigsten vorkommenden Prozesse (das Skript "zaehl.awk" ist unter awk zu finden).
$ ps -e | awk '{ print $4}' | nawk -f zaehl.awk | sort -nr +1 | head -3 ksh 4 ttymon 2 sysevent 2
Sortieren von IP-Adressen in Datei "datei".
$ sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n datei 10.0.0.5 10.0.0.20 192.168.0.2 192.168.0.4
Beispiele
Vorhanden sind folgende Dateien.
$ ls -1 oder $ ls -1 | sort ABC100.txt ABC10.txt ABC1.txt ABC200.txt ABC20.txt ABC2.txt
$ ls -v1 ABC1.txt ABC2.txt ABC10.txt ABC20.txt ABC100.txt ABC200.txt
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | eng | sort (Unix)wbm | Enzyklopädischer Artikel |