So sortieren Sie Textdateien in Linux mit dem Befehl sort

So sortieren Sie Textdateien in Linux mit dem Befehl sort

Linux bietet Ihnen mehrere Dienstprogramme, mit denen Sie Textdateien verarbeiten können. Egal, ob Sie doppelte Daten entfernen oder den Inhalt einer Datei sortieren möchten, Linux-Befehlszeilentools bieten alles, was Sie brauchen.





Dieser Artikel zeigt den Sortierbefehl und wie Sie ihn verwenden können, um den Inhalt in einer Textdatei zu sortieren und entsprechend anzuordnen.





Was ist der Sortierbefehl?

Wie oben erwähnt, hilft der Sortierbefehl einem Benutzer, den Inhalt einer Textdatei in einer bestimmten Reihenfolge anzuordnen. Es stehen mehrere Optionen zur Verfügung, mit denen Sie die Datei nach Ihren Wünschen sortieren können. Es ist ein Standard-Linux-Programm, das eine Textdatei alphabetisch, numerisch, nach Spalten usw. sortieren kann, entweder in normaler oder umgekehrter Reihenfolge.





Andere Funktionen des Befehls umfassen das Ignorieren von Groß-/Kleinschreibung beim Sortieren, das Sortieren einer Datei nach Monat, das Ignorieren von Leerzeichen in einer Datei und das zufällige Sortieren. Mit sort können Sie auch prüfen, ob eine Datei bereits sortiert ist oder nicht.

So verwenden Sie die Sortierung unter Linux

Obwohl sort mehrere Methoden und Flags enthält, die Sie verwenden können, ist es dennoch leicht zu erlernen.



Grundsyntax

Die grundlegende Syntax für die Verwendung von sort ist:

sort filename

...wo Dateiname ist der absolute oder relative Pfad der Textdatei, die Sie sortieren möchten.





Standardmäßig ordnet sort den Inhalt nach den folgenden Kriterien an:

  1. Zeilen, die mit numerischen Zeichen beginnen, haben die höchste Priorität.
  2. Der Befehl sortiert die Zeilen alphabetisch, nachdem die Zeilen mit Zahlen beginnend sortiert wurden.
  3. Zeilen, die mit Kleinbuchstaben beginnen, gehen den Zeilen voraus, die mit dem gleichen Zeichen in Großbuchstaben beginnen.

Betrachten Sie eine Textdatei mit dem Namen textdatei.txt mit folgenden Informationen:





So sortieren Sie die Datei mit der Standardkonfiguration:

sort textfile.txt

Ausgabe:

Erstellen Sie eine neue Ausgabedatei

Der Sortierbefehl ändert den Inhalt der Datei nicht. Es sendet einfach den sortierten Inhalt an die Standardausgabe. Dies bedeutet jedoch nicht, dass sort keine neue Datei erstellen kann. Du kannst den ... benutzen -oder Flag, um den Namen der sortierten Datei anzugeben, und sort erstellt die Datei automatisch für Sie und fügt den Inhalt hinzu.

Der beste Weg, um Microsoft Office zu lernen
sort -o sortedfile filename

...wo sortierte Datei ist der Name der Ausgabedatei und Dateiname ist die Originaldatei, die sortiert werden muss.

Sortieren textdatei.txt und erstellen Sie eine neue Ausgabedatei für den Inhalt:

sort -o sorted.txt textfile.txt

Ausgabe:

Mehrere Dateien sortieren

Um mehrere Dateien gleichzeitig zu sortieren, übergeben Sie einfach die Dateinamen getrennt mit dem Platz Charakter.

sort textfile.txt textfile2.txt

Ausgabe:

Beachten Sie, dass sort die Ausgabe der Dateien zusammenführt und sie zusammen im Terminal anzeigt.

Datei umkehren

Wenn Sie die Anordnung des Inhalts umkehren möchten, verwenden Sie die -R Flag mit dem Standardbefehl. Die -R im folgenden Befehl steht für Umkehren .

sort -r textfile.txt

Ausgabe:

Eine Datei numerisch sortieren

Um eine Datei mit numerischen Daten zu sortieren, verwenden Sie die -n mit dem Befehl markieren. Standardmäßig ordnet sort die Daten in aufsteigender Reihenfolge an.

sort -n numbers.txt

Ausgabe:

Wenn Sie in absteigender Reihenfolge sortieren möchten, kehren Sie die Anordnung mit der -R Option zusammen mit der -n Flag im Befehl.

sort -rn numbers.txt

Ausgabe:

Groß-/Kleinschreibung beim Sortieren ignorieren

Standardmäßig berücksichtigt die Sortierung die Groß-/Kleinschreibung des Inhalts. Zeilen, die mit Kleinbuchstaben beginnen, gehen Zeilen voraus, die mit der Großbuchstabenversion desselben Zeichens beginnen. Zum Beispiel steht „er ist ein Junge“ vor „Er ist ein Junge“.

Wenn Sie möchten, dass die Sortierung die Groß-/Kleinschreibung ignoriert, geben Sie die -F oder der --Fall ignorieren Flagge wie folgt:

sort -f textfile.txt
sort --ignore-case textfile.txt

Ausgabe:

Sortieren einer Datei nach Monat

Verwendung der -M Flag können Sie die Reihenfolge des Inhalts einer Datei basierend auf den Monatsnamen ändern.

sort -M textfile2.txt

Ausgabe:

Führende Leerzeichen ignorieren

Manchmal kann die Datei, die Sie sortieren möchten, Leerzeichen oder Tabulatoren enthalten. Um solche Leerzeichen zu ignorieren, verwenden Sie die -B Flagge.

sort -b fileblanks.txt

Ausgabe:

Sortieren einer Datei nach einer Spalte

Wenn Sie eine Textdatei mit Daten haben, die in separaten Spalten angeordnet sind, können Sie die Datei nach dem Inhalt einer Spalte sortieren. Alles, was Sie tun müssen, ist die Spaltennummer zusammen mit dem -zu Flagge.

Stellen Sie sich eine Textdatei vor, die Dateiinformationen mit verschiedenen Spalten enthält. So sortieren Sie eine Datei mit dem Namen Ausgabe.txt nach der achten Spalte:

Wie starte ich den Mac neu, wenn er eingefroren ist?
sort -k8 -rn output.txt

Ausgabe:

Rohrsortierung mit anderen Befehlen

Sie können sort sogar mit anderen Linux-Befehlen verwenden, um die Anordnung der Ausgabe zu ändern. Um beispielsweise die Ausgabe von zu sortieren der ls-Befehl nach Dateigröße:

ls -la | sort -k5 -rn

Ausgabe:

Eine Datei zufällig sortieren

Du kannst den ... benutzen -R Flag, wenn Sie die Reihenfolge der Zeilen in einer Textdatei zufällig ändern möchten. Betrachten Sie die Datei textdatei.txt :

sort -R textfile.txt

Ausgabe:

Versionsnummern in einer Datei sortieren

Wenn Sie eine Textdatei mit Versionsinformationen haben, die mit einem Paket verknüpft ist, können Sie deren Inhalt mithilfe der -V oder --version-sort Flagge.

Datei ist im System geöffnet kann nicht gelöscht werden
sort -V version.txt
sort --version-sort version.txt

Ausgabe:

Überprüfen Sie, ob eine Datei sortiert ist

Die -C Flag hilft Ihnen beim Identifizieren von Dateien, die bereits nach den angegebenen Optionen sortiert sind. Wenn der Inhalt der Datei richtig sortiert ist, zeigt sort keine Ausgabe an.

Um zu überprüfen, ob die Datei textdatei.txt ist sortiert:

sort -c textfile.txt

Jetzt sortieren wir die Datei und speichern ihre Ausgabe in einer neuen Datei namens sortiert.txt . Bei der Ausgabe des folgenden Befehls:

sort -c sorted.txt

Ausgabe:

Sie können auch verschiedene Flags angeben, um die Anordnung der Datei nach bestimmten Kriterien zu überprüfen. Um beispielsweise zu überprüfen, ob die Datei zahlen.txt ist absteigend sortiert:

sort -c -rn numbers.txt

Sie sehen eine Ausgabe, die besagt, dass die Datei nicht richtig sortiert ist. Lassen Sie uns die Datei sortieren und prüfen, ob die neue Datei den Test besteht.

sort -o sorted.txt -rn numbers.txt
sort -c -rn sorted.txt

Ausgabe:

Sortieren Sie die Datei und entfernen Sie Duplikate

Die Datei, mit der Sie arbeiten, enthält möglicherweise doppelte Daten. Obwohl Sie verwenden können der uniq-Befehl Um solche Informationen aus der Datei zu entfernen, kann sort diese Aufgabe für Sie übernehmen. Die -u oder --einzigartig Flagge ist das, was Sie brauchen.

Betrachten Sie eine Datei mit dem Namen Duplikat.txt :

So sortieren Sie die Datei und entfernen die wiederholten Daten:

sort -u duplicate.txt

Ausgabe:

Sie können das sehen, wenn Sie die -u Flag zeigt sort nur eindeutige Zeilen an und ordnet sie nach den angegebenen Kriterien an.

Arbeiten mit Textdateien unter Linux

Obwohl die Leistungsfähigkeit von Befehlszeilen-Texteditoren unübertroffen ist, können Sie sich dennoch für einen grafischen Editor wie gedit entscheiden, um den Inhalt einer Textdatei einfach zu ändern. Außerdem ist es eine bessere Wahl für diejenigen, die neu bei Linux sind und nicht mit dem Terminal umgehen können.

Der beste Weg, um mit der Befehlszeile und Linux im Allgemeinen zu beginnen, besteht darin, zuerst die grundlegenden Befehle zu üben. Nachdem Sie die grundlegenden Dienstprogramme behandelt haben, ist es wahrscheinlich der beste Ansatz, schrittweise zu komplexeren Befehlen vorzudringen.

Teilen Teilen Tweet Email Der Spickzettel für die Linux-Befehle-Referenz

Dieser einfache Spickzettel hilft Ihnen, sich in kürzester Zeit mit dem Linux-Befehlszeilenterminal vertraut zu machen.

Weiter lesen
Verwandte Themen
  • Linux
  • Dokumentenverwaltung
  • Linux
  • Linux-Befehle
Über den Autor Deepesh Sharma(79 Artikel veröffentlicht)

Deepesh ist Junior Editor für Linux bei MUO. Er schreibt Informationshandbücher zu Linux mit dem Ziel, allen Neulingen eine glückselige Erfahrung zu bieten. Bei Filmen bin ich mir nicht sicher, aber wenn Sie über Technologie sprechen möchten, ist er Ihr Mann. In seiner Freizeit findet man ihn beim Lesen von Büchern, beim Hören verschiedener Musikgenres oder beim Gitarrespielen.

Mehr von Deepesh Sharma

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Klicken Sie hier, um sich zu abonnieren