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 01/2015: E-Books im Griff

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.