Starke Argumente
Einführung in die Shell – Teil 3
Schnell sortiert
Die Ausgaben aller Shell-Kommandos können Sie mit dem Sortierprogramm sort in eine richtige Reihenfolge bringen. Dabei ist sort sehr mächtig und kommt auch mit der Aufgabe zurecht, komplexere tabellarische Ausgaben nach bestimmten Spalten zu sortieren. Ein einfacher sort-Aufruf sortiert alphanumerisch, also nach dem Alphabet, während sort -n nach Zahlen sortiert, also z. B. "1", "2" und "11" in die richtige Reihenfolge bringt, während bei alphabetischer Sortierung die "11" zwischen "1" und "2" landet. Abbildung 2 zeigt ein Beispiel dafür.
Sie können sort direkt mit dem Namen einer zu sortierenden Datei als Argument aufrufen oder das Tool wieder in einer Pipeline einsetzen. So filten Sie beispielsweise aus einer großen Datei zunächst mit grep die interessanten Zeilen heraus und bringen diese anschließend mit sort in die richtige Reihenfolge:
$ grep München adressdatei.txt | sort Amussen, Joseph, München, Hauptstraße 3 Meier, Martina, München, Isarweg 9 Roth, Karla, München, Postchaussee 17 Zülow, Anton, München, Nordpark 1
Sie könnten auch den umgekehrten Weg gehen (erst sortieren, dann filtern), aber das vergrößert die Antwortzeit, denn etwas zu sortieren, ist eine anspruchsvollere Aufgabe als, Dinge herausfiltern.
Tauchen in der Ausgabe mehrere identische Zeilen auf, können Sie sort dazu auffordern, diese "Doppler" zu entfernen. Dazu verwenden Sie die Option -u (unique, einmalig). Das funktioniert auch, wenn eine Datei bereits sortiert ist (und eventuell Doppler enthält) – dann ist es aber sinnvoller, statt sort das kleine Tool uniq zu verwenden, das von einer bereits sortierten Eingabe ausgeht und einfach alle doppelt oder öfter auftretenden Zeilen streicht.
Mehr Power als man denkt
Die Shell ist ein echtes Powertool: In unserer dreiteiligen Einführung haben wir Sie mit den Grundlagen vertraut gemacht und einige nützliche Tools vorgestellt. In jeder EasyLinux-Ausgabe finden Sie in den Shell-Tipps (in diesem Heft auf Seite 102) weitere Hinweise dazu, was auf der Shell alles möglich ist. Eine zusätzliche Fundgrube bietet das Archiv unserer Schwesterzeitschrift LinuxUser [3], dort gibt es vor allem in den älteren Artikeln der Rubrik "Zu Befehl" viele interessante Shell-Programm-Vorstellungen.
Haben Sie besondere Erwartungen an die Arbeit mit der Shell? Gibt es Aufgaben, die Sie gerne auf der Kommandozeile lösen würden, aber Sie kennen nicht den richtigen Weg? Dann schreiben Sie an die Redaktionsadresse – wir greifen Ihre Themenvorschläge gerne auf.
Infos
[1] Shell-Einführung, Teil 1: Hans-Georg Eßer, "Im Anfang war der Prompt", EasyLinux 01/2010, S. 124 ff., http://www.linux-community.de/artikel/20197
[2] Shell-Einführung, Teil 2: Hans-Georg Eßer, "Hilfreiche Spezialisten", EasyLinux 02/2010, S. 124 ff., http://www.linux-community.de/artikel/20420
[3] LinuxUser: http://www.linux-user.de/



