Richtige Reihenfolge

Sortiert und zugenäht

01.04.2002
Mit dem Kommando sort sortieren Sie Zeilen in Dateien oder aus der Standardeingabe. Als reines Sortierprogramm konzipiert, arbeitet das Tool oft mit anderen Programmen auf der Kommandozeile zusammen.

Der Aufruf sort datei sortiert die Zeilen aus der Datei und schickt das Ergebnis nach stdout. Zahlen stehen vor allen anderen Zeichen, Großbuchstaben werden vor Kleinbuchstaben eingeordnet, und deutsche Sonderzeichen wandern ans Ende der Liste. Legen Sie sich zum Testen der wichtigsten Parameter eine einfache Textdatei mit mehreren Zeilen an, z. B. wie in der folgenden Datei:

Petronella,Huhn,lebendig
Easter,Hahn,lebendig
1000,Zahl,tot
Küken,Geflügel,lebendig
ätsch!,bätsch!,tot
1,Zahl,tot
Hubert,Gnom.lebendig
Asteroid,Stein,tot
aua!,weia!,tot

Überprüfen Sie zunächst mit der Option -c, ob die Liste schon sortiert ist:

huhn@asteroid:~$ sort -c datei
sort: datei:2: disorder: Easter,Hahn,lebendig

Die Ausgabe verrät: Bereits in Zeile 2 findet sort ein Wort, das nicht richtig eingeordnet wurde: Easter. Möchten Sie, dass Klein- und Großbuchstaben nicht unterschieden werden, verwenden Sie den Parameter -f.

Um die sortierte Liste statt auf den Bildschirm in eine Datei auszugeben, können Sie entweder sort -o ausgabe datei oder sort datei > ausgabe verwenden. Das >-Zeichen steht dabei für eine Umleitung: Die Ausgabe des oder der Kommandos davor wird statt auf die Standardausgabe in die nach dem >-Zeichen stehende Datei umgelenkt. Vorsicht: Eine bereits vorhandene Datei überschreiben Sie damit. Um die Ausgabe an eine bereits existierende Datei anzuhängen, verwenden Sie stattdessen >> (siehe man bash).

Enthält die Liste Leerzeichen am Zeilenanfang, die Sie beim Sortieren ignorieren möchten, verwenden Sie sort -b. Für eine Liste von Zahlen ist es unter Umständen wichtig, dass statt nach alphabetischem nach numerischem Wert sortiert wird, z. B. "1, 500, 1000" statt "1, 1000, 500". Um die Ziffern richtig einzuordnen, verwenden Sie die Option -g.

Die Option -r bewirkt, dass die Liste rückwärts sortiert wird. Doppelte Listeneinträge können Sie durch sort -u (unique, einmalig) eliminieren.

Listen und Felder

Die Liste aus dem verwendeten Beispiel enthält drei sogenannte Felder, die durch ein Komma getrennt sind. Das Kommando sort kann gezielt nach diesen Feldern sortieren. Dabei sucht es standardmäßig nach Leerzeichen als Trennern zwischen den Einträgen. Mit -t können andere Trennzeichen definiert werden, z. B. sort -t"," datei. Die Zählung der Felder beginnt mit 0 - möchten Sie nach dem zweiten Feld sortieren, verwenden Sie den Parameter +1:

huhn@asteroid:~$ sort -t"," +1 datei
Küken,Geflügel,lebendig
Hubert,Gnom.lebendig
Easter,Hahn,lebendig
[…]

Wie bereits angesprochen verwendet man sort meistens in Kombination mit anderen Befehlen. Als Administrator werden Sie vielleicht herausfinden wollen, welche User den meisten Plattenplatz verbrauchen. Dazu verknüpfen Sie einfach die Befehle du (siehe LinuxUser 04/2001) und sort:

asteroid:~# du -s /home/@L: * | sort -rg
6356156 /home/user1
47304   /home/user2
18864   /home/user3
[…]

Zu Befehl @KL:Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen - wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, in denen es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.

Glossar

stdout

Es gibt drei "Standardkanäle" für Ein- und Ausgabe, stdin (Standardeingabe), stdout (Standardausgabe) und stderr (Standardfehlerausgabe). Ein Benutzer hat z. B. die Tastatur als Standardeingabe und den Bildschirm als -ausgabe. Sofern das Kommando sort nicht umgeleitet wird, sehen Sie das Ergebnis des Aufrufs sort datei am Bildschirm.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl: sort
    Ordnung ist das halbe Leben, auch auf der Kommandozeile. Mit dem Tool "sort" ordnen Sie Dateilisten und Programmausgaben. Wer will, fügt mit Hilfe dieses kleinen aber feinen Programms sogar mehrere Dateien sortiert zusammen.
  • Zu Befehl
    Mit einem schnellen Internetzugang steigt bei vielen Anwendern die Download-Rate und damit zwangsläufig der Speicherverbrauch auf der eigenen Harddisk. Auch auf der Kommandozeile gibt es Programme, mit denen Sie Ihren Festplattenplatz schnell und sicher verwalten können. In dieser "Zu Befehl"-Folge geht es um Dateisysteme, um Dateien und ihre Anordnung und Eigenschaften – und um die Programme df und du. Begeben Sie sich in die Tiefen des Filesystems und finden Sie heraus, welche Dateien den Speicher vertilgen!
  • Zu Befehl: Kanäle, Pipes und Tee
    Mit wenigen Handgriffen leiten Sie auf der Kommandozeile Ein- und Ausgaben von Befehlen um und kombinieren Kommandos. Wir stellen die benötigten Bash-Operatoren vor und zeigen, wie Sie mit dem Programm tee noch einen Zwischenschritt einlegen.
  • Einführung in die Shell – Teil 3
    In den ersten zwei Teilen der Shell-Einführung [1,2] haben wir Sie mit den Grundlagen der Shell vertraut gemacht. Jetzt stellen wir einige Spezialtools vor, mit denen die Shell besonders leistungsfähig wird – darunter "xargs".
  • Zu Befehl: df, du
    Programme wie df ("disk free") und du ("disk usage") geben Auskunft über die Auslastung des Dateisystems. Dabei verrät df, wieviel Platz auf den Partitionen verfügbar ist, und du gibt an, wieviele Blöcke tatsächlich belegt sind. Wir zeigen, wie Sie mit diesen beiden Tools "Speicherfressern" auf die Schliche kommen.
Kommentare

Infos zur Publikation

LU 07/2015: Daten sichern

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 2 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 0 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...