7 interessante Beispiele für den ’sort‘-Befehl in Linux – Teil 2

In unserem letzten Artikel beschrieben wir verschiedene Beispiele der Befehlsverwendung von `sort`. Wenn Sie diesen Artikel verpasst haben, können Sie sich mit dem untenstehenden Link aufholen. In diesem Beitrag werden wir fortfahren, wo wir im letzten Artikel aufgehört haben, um die verbleibenden Aspekte des Befehls abzuschließen. So werden beide Artikel zusammen als umfassende Anleitung für den Linux-Befehl `sort` dienen.

Bevor wir weitergehen, bitte Sie eine Textdatei namens `month.txt` anlegen und sie mit dem untenstehenden Daten füllen.

echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
cat month.txt

15. Dateien nach Monat sortieren

Der folgende Befehl sortiert die Dateien im Dateiinhalt „`month.txt„` numerisch chronologisch basierend auf den Monatsabkürzungen oder -namen, indem er die `‘-M’` Option verwendet, die das Sortieren von Daten als Datenbankzeilen anweist.

sort -M month.txt

16. Ausgabe nach Dateigröße in lesbarer Format sortieren

Der folgende Befehl kombiniert den `ls` und den `sort` Befehl, um zwei Aufgaben gleichzeitig durchzuführen. Zuerst werden die Inhalte des Benutzerhomeordners in langformat aufgelistet und dann wird diese Verzeichnisauflistung an den Sortierbefehl geleitet, um Dateigrößen im lesbaren Format auszugeben, was es einfacher macht, die größten und kleinsten Dateien im Verzeichnis zu erkennen.

ls -l /home/$USER | sort -h -k5

17. Sortierte Dateien auf Konsistenz überprüfen

Im vorherigen Artikel haben wir zwei Textdateien erstellt: „sorted.txt“ im Beispiel Nr. 4 und „lsl.txt“ im Beispiel Nr. 6. Wir wissen, dass „sorted.txt“ bereits sortiert ist, während „lsl.txt“ unsortiert ist.

Um den Sortierstatus beider Dateien zu überprüfen, werden wir den Befehl „sort“ verwenden, mit dem wir bestätigen können, ob „sorted.txt“ weiterhin korrekt sortiert ist und ob „lsl.txt“ sortiert werden muss.

sort -c sorted.txt

Wenn es 0 zurückgibt, bedeutet dies, dass die Datei sortiert ist und es keinen Konflikt gibt.

sort -c lsl.txt

18. Umgehen von Trennzeichen bei nicht Verwendung von Leerzeichen in der Datei

Wenn das Trennzeichen (Trennzeichen) zwischen den Wörtern ein Leerzeichen ist, interpretiert der Befehl „sort“ automatisch alles, was nach einem horizontalen Leerzeichen kommt, als neues Wort. Was passiert aber, wenn das Trennzeichen kein Leerzeichen ist?

Betrachten Sie eine Textdatei, in der der Inhalt durch etwas anderes als ein Leerzeichen getrennt ist, z.B. | oder \ oder + oder . oder ....

Erstellen Sie eine Textdatei, in der der Inhalt durch + getrennt ist. Verwenden Sie den Befehl Katze, um den Inhalt der Datei zu überprüfen.

echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt

Sortieren Sie nun diese Datei basierend auf dem 1. Feld, das numerisch ist.

sort -t '+' -nk1 delimiter.txt

Die zweite Sortierung basiert auf dem 4. Feld, das nicht numerisch ist.

Wenn das Trennzeichen Tab ist, können Sie $'\t' anstelle von '+' verwenden, wie im obigen Beispiel gezeigt.

19. Zufälliges Sortieren der Ausgabe nach Dateigröße

Sortieren Sie die Ausgabe des ls -l Befehls für Ihr Home-Verzeichnis basierend auf der fünften Spalte, die die „Datenmenge“ darstellt, in zufälliger Reihenfolge.

ls -l /home/avi/ | sort -k5 -R 

Jedes Mal, wenn Sie das obige Skript ausführen, erhalten Sie wahrscheinlich ein anderes Ergebnis, da das Ergebnis zufällig generiert wird.

Wie aus Regel Nummer – 2 im letzten Artikel ersichtlich ist, bevorzugt der sort Befehl Zeilen, die mit Kleinbuchstaben beginnen, gegenüber Zeilen, die mit Großbuchstaben beginnen. Beachten Sie auch Beispiel 3 im letzten Artikel, in dem der String ‚laptop‘ vor dem String ‚LAPTOP‘ erscheint.

20. Überschreiben der Standard-Sortierpräferenzen

Wie kann die Standard-Sortierpräferenz überschrieben werden? Bevor wir die Standard-Sortierpräferenz überschreiben können, müssen wir die Umgebungsvariable 'LC_ALL' auf 'C' exportieren.

Führen Sie dazu den folgenden Code in Ihrem Befehlszeilen-Prompt aus.

export LC_ALL=C

Sortieren Sie dann die Textdatei ‚tecmint.txt‘, wobei die Standardeinstellung für die Sortierung überschrieben wird.

$ sort tecmint.txt

Vergessen Sie nicht, die Ausgabe mit der in Beispiel 3 erzielten Ausgabe zu vergleichen, und Sie können die Option ‚-f‘ bzw. ‚–ignore-case‘ verwenden, um eine besser organisierte Ausgabe zu erhalten.

$ sort -f tecmint.txt

21. Das Zusammenführen von zwei Eingabedateien in einem einzigen Vorgang

Wie wäre es, ’sort‘ auf zwei Eingabedateien auszuführen und sie in einem einzigen Schritt zu verbinden?

Erstellen wir zwei Textdateien namens ‚file1.txt‘ und ‚file2.txt‘ und füllen sie mit einigen Daten. In ‚file1.txt‘ fügen wir Zahlen wie unten gezeigt hinzu. Wir verwenden auch den cat-Befehl, um den Inhalt der Datei zu überprüfen.

echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
cat file1.txt

Und füllen Sie die zweite Datei ‚file2.txt‘ mit einigen Daten.

echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
cat file2.txt

Sortieren Sie nun und verbinden Sie die Ausgabe beider Dateien.

join <(sort -n file1.txt) <(sort file2.txt)

Schlussfolgerung

Zusammenfassend hat dieser Artikel verschiedene Aspekte des Befehls ’sort‘ in Linux erkundet. Wir begannen mit dem grundlegenden Sortieren nach alphabetischer Reihenfolge, wagten uns in numerisches und datumsbasiertes Sortieren und berührten sogar benutzerdefinierte Trennzeichen. Wir haben auch gelernt, wie wir die Standardeinstellungen für das Sortieren überschreiben können, um unseren Bedürfnissen gerecht zu werden.

Darüber hinaus haben wir Techniken diskutiert, um zu überprüfen, ob eine Datei bereits sortiert ist, und das Kombinieren von ’sort‘-Operationen für mehrere Eingabedateien. Mit dem hier erlangten Wissen haben Sie ein leistungsfähiges Werkzeug zur Verfügung, um Daten effizient in einer Linux-Umgebung zu sortieren und zu organisieren.

Wir hoffen, dieser Artikel war aufschlussreich und nützlich für Ihre Bemühungen an der Befehlszeile. Erforschen Sie weiter, lernen Sie und beherrschen Sie die Kunst des ’sort‘, um Ihre Linux-Fähigkeiten zu verbessern.

Source:
https://www.tecmint.com/linux-sort-command-examples/