GNU/Linux >> LINUX-Kenntnisse >  >> Linux

10 Nützliche Beispiele für den Sort-Befehl in Linux

Sortierbefehl unter Linux

Der Sortierbefehl ordnet Textzeilen auf nützliche Weise an. Dieses einfache Tool kann Ihnen helfen, Informationen schnell über die Befehlszeile zu sortieren.

Syntax

sort [options] <filename>

Sie sollten ein paar Dinge beachten:

  • Wenn Sie die Sortierung ohne Optionen verwenden, werden die Standardregeln erzwungen. Es hilft, die Standardregeln zu verstehen, um unerwartete Ergebnisse zu vermeiden.
  • Wenn Sie Sortieren verwenden, sind Ihre Originaldaten sicher. Die Ergebnisse Ihrer Eingabe werden nur in der Befehlszeile angezeigt. Sie können jedoch die Ausgabe in eine separate Datei angeben, wenn Sie dies wünschen. Dazu später mehr.
  • Sortieren wurde ursprünglich für die Verwendung mit ASCII-Zeichen entwickelt. Ich habe dies nicht getestet, aber es ist möglich, dass unterschiedliche Codierungen zu unerwarteten Ergebnissen führen.

Die Standardregeln im Sortierbefehl

Dies sind die Standardregeln bei der Verwendung von sort. Die ersten Beispiele sollen verdeutlichen, wie diese Prioritäten gehandhabt werden. Dann sehen wir uns spezialisierte Optionen an.

  • Zahlen> Buchstaben
  • Kleinbuchstaben> Großbuchstaben

Beispiele für den Sortierbefehl

Lassen Sie mich Ihnen einige Beispiele für Sortierbefehle zeigen, die Sie in verschiedenen Situationen verwenden können.

1. In alphabetischer Reihenfolge sortieren

Der standardmäßige Sortierbefehl erleichtert das Anzeigen von Informationen in alphabetischer Reihenfolge. Es sind keine Optionen erforderlich und selbst bei Einträgen mit gemischter Groß-/Kleinschreibung funktioniert die A-Z-Sortierung wie erwartet.

Ich werde eine Beispieltextdatei namens filename.txt verwenden und wenn Sie den Inhalt der Datei anzeigen, sehen Sie Folgendes:

MX Linux
Manjaro
Mint
elementary
Ubuntu

Wenn Sie jetzt den Sortierbefehl darauf verwenden:

sort filename.txt

Hier ist die alphabetisch sortierte Ausgabe:

elementary
Manjaro
Mint
MX Linux
Ubuntu

2. Nach numerischem Wert sortieren [Option -n]

Nehmen wir dieselbe Liste, die wir für das vorherige Beispiel verwendet haben, und sortieren sie in numerischer Reihenfolge. Falls Sie sich gefragt haben, die Liste spiegelt die beliebtesten Linux-Distributionen (Juli 2019) laut distrowatch.com wider.

Ich werde den Inhalt der Datei so ändern, dass die Elemente nummeriert, aber wie unten gezeigt in der falschen Reihenfolge sind.

1. MX Linux
4. elementary
2. Manjaro
5. Ubuntu
3. Mint
sort filename.txt

Nach dem Sortieren ist das Ergebnis:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

Sieht gut aus, oder? Können Sie sich jedoch auf diese Methode verlassen, um Ihre Daten korrekt zu ordnen? Wahrscheinlich nicht. Sehen wir uns ein weiteres Beispiel an, um herauszufinden, warum.

Hier ist mein neuer Beispieltext:

1
5
10
3
5
2
60
23
432
21

Wenn ich jetzt den Sortierbefehl ohne Optionen verwende, bekomme ich Folgendes:

[email protected]:~$ sort order.txt
1
10
2
21
23
3
432
5
5
60

HINWEIS:Zahlen werden nur nach ihren führenden Zeichen sortiert.

Wenn Sie das -n hinzufügen Option wird jetzt der numerische Wert der Zeichenfolge ausgewertet und nicht nur das erste Zeichen. Jetzt können Sie unten sehen, dass unsere Liste richtig sortiert ist.

sort order.txt -n

Jetzt haben Sie die korrekt sortierte Ausgabe:

1
2
3
5
5
10
21
23
60
432

3. In umgekehrter Reihenfolge sortieren [Option -r]

Für diesen werde ich wieder unsere Distributionsliste verwenden. Die Umkehrfunktion ist selbsterklärend. Es wird die Reihenfolge aller Inhalte in Ihrer Datei umkehren.

sort filename.txt -r

Und hier haben Sie den Ausgabetext in umgekehrter Reihenfolge:

5. Ubuntu
4. elementary
3. Mint
2. Manjaro
1. MX Linux

4. Zufällige Sortierung [Option -R]

Wenn Sie versehentlich Ihre Umschalttaste gedrückt haben, während Sie die Rückwärtsfunktion versucht haben, haben Sie möglicherweise einige seltsame Ergebnisse erhalten. -R ordnet die Ausgabe in zufälliger Reihenfolge neu an.

sort filename.txt -R

Hier ist die zufällig sortierte Ausgabe:

4. elementary
1. MX Linux
2. Manjaro
5. Ubuntu
3. Mint

5. Nach Monaten sortieren [Option -M]

Sortieren hat auch eine eingebaute Funktion, um nach Monat zu ordnen. Es erkennt mehrere Formate basierend auf gebietsschemaspezifischen Informationen. Ich habe versucht, einige einzigartige Tests zu demonstrieren, um zu zeigen, dass es nach Datum-Tag, aber nicht nach Jahr geordnet wird. Monatsabkürzungen werden vor vollständigen Namen angezeigt.

Hier ist die Beispieltextdatei in diesem Beispiel:

March
Feb
February
April
August
July
June
November
October
December
May
September
1
4
3
6
01/05/19
01/10/19
02/06/18

Lassen Sie es uns mit der Option -M nach Monaten sortieren:

sort filename.txt -M

Hier ist die Ausgabe, die Sie sehen werden:

01/05/19
01/10/19
02/06/18
1
3
4
6
Jan
Feb
February
March
April
May
June
July
August
September
October
November
December

6. Speichern Sie die sortierten Ergebnisse in einer anderen Datei

Wie ich bereits erwähnt habe, ändert sort standardmäßig nicht die Originaldatei. Wenn Sie den sortierten Inhalt speichern müssen, können Sie dies tun.

Für dieses Beispiel habe ich eine neue Datei erstellt, in der die sortierten Informationen gedruckt und unter dem Namen filename_sorted.txt gespeichert werden sollen.

Achtung: Wenn Sie versuchen, Ihre sortierten Daten in dieselbe Datei zu leiten, wird der Inhalt Ihrer Datei gelöscht.

sort filename.txt -n > filename_sorted.txt

Wenn Sie den cat-Befehl für die Ausgabedatei verwenden, ist dies der Inhalt:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

7. Spezifische Spalte sortieren [Option -k]

Wenn Sie eine Tabelle in Ihrer Datei haben, können Sie das -k verwenden Option, um anzugeben, welche Spalte sortiert werden soll. Ich habe einige willkürliche Zahlen als dritte Spalte hinzugefügt und werde die Ausgabe sortiert nach jeder Spalte anzeigen. Ich habe mehrere Beispiele beigefügt, um die Vielfalt der möglichen Ausgabe zu zeigen. Optionen werden nach der Spaltennummer hinzugefügt.

1. MX Linux 100
2. Manjaro 400
3. Mint 300
4. elementary 500
5. Ubuntu 200
sort filename.txt -k 2

Dadurch wird der Text in der zweiten Spalte in alphabetischer Reihenfolge sortiert:

4. elementary 500
2. Manjaro 400
3. Mint 300
1. MX Linux 100
5. Ubuntu 200
sort filename.txt -k 3n

Dadurch wird der Text nach den Zahlen in der dritten Spalte sortiert.

1. MX Linux 100
5. Ubuntu 200
3. Mint 300
2. Manjaro 400
4. elementary 500
sort filename.txt -k 3nr

Dasselbe wie der obige Befehl, nur dass die Sortierreihenfolge umgekehrt wurde.

4. elementary 500
2. Manjaro 400
3. Mint 300
5. Ubuntu 200
1. MX Linux 100

8. Duplikate sortieren und entfernen [Option -u]

Wenn Sie eine Datei mit potenziellen Duplikaten haben, wird der -u Option wird Ihr Leben viel einfacher machen. Denken Sie daran, dass beim Sortieren keine Änderungen an Ihrer ursprünglichen Datendatei vorgenommen werden. Ich habe mich dafür entschieden, eine neue Datei nur mit den Elementen zu erstellen, die Duplikate sind. Unten sehen Sie die Eingabe und dann den Inhalt jeder Datei, nachdem der Befehl ausgeführt wurde.

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
sort filename.txt -u > filename_duplicates.txt

Hier sind die Ausgabedateien sortiert und ohne Duplikate.

1. MX Linux 
2. Manjaro 
3. Mint 
4. elementary 
5. Ubuntu 

9. Groß-/Kleinschreibung beim Sortieren ignorieren [Option -f]

Viele moderne Distributionen, die sort ausführen, implementieren standardmäßig die Groß- und Kleinschreibung. Wenn dies bei Ihnen nicht der Fall ist, fügen Sie den -f hinzu Option wird die erwarteten Ergebnisse liefern.

sort filename.txt -f

Hier ist die Ausgabe, bei der Fälle vom sort-Befehl ignoriert werden:

alpha
alPHa
Alpha
ALpha
beta
Beta
BEta
BETA

10. Nach menschlichen Zahlenwerten sortieren [Option -h]

Diese Option ermöglicht den Vergleich von alphanumerischen Werten wie 1k (d.h. 1000).

sort filename.txt -h

Hier ist die sortierte Ausgabe:

10.0
100
1000.0
1k

Ich hoffe, dieses Tutorial hat Ihnen geholfen, die grundlegende Verwendung des Sortierbefehls in Linux zu verstehen. Der Sort-Befehl wird oft in Verbindung mit dem uniq-Befehl in Linux verwendet, um Textdateien eindeutig zu sortieren.

Wenn Sie einen coolen Sortiertrick haben, warum teilen Sie ihn uns nicht im Kommentarbereich?


Linux
  1. 12 nützliche Wget-Befehlsbeispiele unter Linux

  2. Sortierbefehl in Linux mit Beispielen

  3. ls-Befehl unter Linux:17 nützliche Beispiele erklärt

  4. 5 praktische Beispiele des dd-Befehls unter Linux

  5. So verwenden Sie den id-Befehl unter Linux:5 nützliche Beispiele

pwd-Befehl in Linux mit nützlichen Beispielen

SS-Befehl in Linux mit nützlichen Beispielen

Sortierbefehl in Linux mit Beispielen

Wesentliche Beispiele des ps-Befehls in Linux

15 super nützliche Beispiele für den Find-Befehl in Linux

12 Nützliche Beispiele für Linux-Datumsbefehle