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

Sortierbefehl in Linux mit Beispielen

Der sort-Befehl ist eines der GNU-Kerndienstprogramme, das verwendet wird, um Inhalte in einer bestimmten Reihenfolge zu sortieren. Es kann den Inhalt auf verschiedene Arten sortieren, darunter alphabetisch, numerisch, nach Monat, in umgekehrter Reihenfolge usw. Hier sind einige wichtige Punkte, die Sie bezüglich des Sortierbefehls beachten müssen:

  • Ziffern erscheinen zuerst vor Buchstaben
  • Für jeden Buchstaben werden Kleinbuchstaben zuerst sortiert.
  • Standardmäßig werden Leerzeichen als Feldtrenner verwendet. Es können auch andere Feldtrenner verwendet werden.

In diesem Beitrag zeigen wir Ihnen die grundlegende Verwendung und einige allgemeine Optionen des Sortierbefehls in Linux. Wir werden alle Befehle auf Ubuntu 20.04 LTS testen . Sie können jedoch dieselben Befehle auf andere Linux-Distributionen anwenden.

Die Syntax des Sortierbefehls lautet wie folgt:

$ sort [OPTION]... [FILE]...

Grundlegende Verwendung des Sortierbefehls

Wenn Sie den sort-Befehl ohne Befehlszeilenoptionen verwenden, wird der Inhalt einer angegebenen Datei alphabetisch sortiert.

Unten ist unsere sample1.txt Datei, die wir als Beispiel verwenden werden.

Zum Sortieren des Inhalts der sample1.txt Datei wäre der Befehl:

$ sort sample1.txt

Hier ist die Ausgabe des obigen Befehls, die den alphabetisch sortierten Inhalt anzeigt.

Wenn die Datei sowohl Buchstaben als auch Zahlen enthält, sortiert der Sortierbefehl Zahlen vor Buchstaben. Nachfolgend finden Sie unsere Beispieldatei, die sowohl Zahlen als auch Buchstaben enthält:

Hier ist die Ausgabe der obigen Datei nach dem Sortieren, wo Sie sehen können, dass die Zahlen vor den Buchstaben sortiert sind.

Optionen für Sortierbefehle

Der Sortierbefehl bietet viele Optionen, die seine Nützlichkeit erweitern. Sehen wir uns einige der Optionen und ihre Verwendung an.

In umgekehrter Reihenfolge sortieren

Um den Dateiinhalt in umgekehrter Reihenfolge zu sortieren, verwenden Sie das -r Möglichkeit. Unten sehen Sie beispielsweise den Inhalt unserer Beispieldatei, die wir in umgekehrter alphabetischer Reihenfolge sortieren möchten.

Um den Inhalt dieser Datei in umgekehrter Reihenfolge zu sortieren, verwenden Sie das -r Option wie folgt:

$ sort -r sample1.txt

In numerischer Reihenfolge sortieren

Um die Daten numerisch zu sortieren, verwenden Sie das -n Option mit dem sort-Befehl. Diese Option ist nützlich, wenn Ihre Datei Zahlen enthält und Sie diese von der niedrigsten Zahl zur höchsten oder von der höchsten zur niedrigsten Zahl sortieren möchten. Denken Sie daran, dass bei der Standardsortierung 113 als kleiner als 2 angesehen würde.

Nachfolgend finden Sie ein Beispiel für eine Standardsortierung unserer Beispieldatei. Beachten Sie, dass bei der Standardsortierung nach der ersten Zahl sortiert wird. Wenn die erste Zahl gleich ist, wird nach der zweiten Zahl sortiert. Wie im Beispiel unten ist 113 kleiner als 13 und 2.

Um den obigen Inhalt numerisch zu sortieren (von der niedrigsten Zahl zur höchsten), verwenden Sie das -n Option wie folgt:

$ sort -n sample2.txt

Nach Monat sortieren

Der Standardsortierbefehl sortiert den Dateiinhalt alphabetisch. Wenn eine Datei eine Liste mit Monatsnamen enthält, können Sie diese mit dem -M monatsweise sortieren Befehl. Unten finden Sie beispielsweise unsere Beispieldatei mit den Monatsnamen.

Um den obigen Dateiinhalt nach Monaten zu sortieren, verwenden Sie das -M Option wie folgt:

$ sort -M sample3.txt

Nach Spaltennummer sortieren

Standardmäßig beginnt der Sortierbefehl mit dem Sortieren des Inhalts anhand des ersten Zeichens der ersten Spalte.

Unten sehen Sie beispielsweise unsere Beispieldatei, die zwei Spalten enthält; Fruchtnamen und ihre jeweiligen Preise. Wenn wir die Standardsortierung verwenden, würde dies auf der Grundlage der ersten Spalte (mit Fruchtnamen) erfolgen.

Um den Inhalt der obigen Datei anhand der zweiten Spalte (Preise) zu sortieren, müssen wir den Befehl -k wie folgt verwenden:

$ sort -k2 -n sample1.txt

Wobei -k2 dem Sortierbefehl mitteilt, nach der zweiten Spalte zu sortieren, und -n für die numerische Sortierung verwendet wird.

Der obige Befehl sortiert die Inhalte basierend auf ihren Preisen (von niedriger nach höher).

Anderes Feldtrennzeichen verwenden

Standardmäßig verwendet der Sortierbefehl Leerzeichen als Feldtrennzeichen. Um ein anderes Feldtrennzeichen als Leerzeichen zu verwenden, verwenden Sie das -t Möglichkeit. Unten ist unsere Beispieldatei, die wir anhand der zweiten Spalte (getrennt durch Kommas) sortieren möchten ).

Der Befehl zum Sortieren der obigen Datei nach der zweiten Spalte wäre:

$ sort -k2 -n -t “,” sample1.txt

Dabei weist -k2 den Sortierbefehl an, nach der zweiten Spalte zu sortieren, -n wird für die numerische Sortierung verwendet und -t wird verwendet, um das Feldtrennzeichen anzugeben.

Duplikate sortieren und entfernen

Das -u Option mit Sortierbefehl entfernt auch die Duplikate zusammen mit dem Sortieren des Inhalts. Unten ist unsere Beispieldatei, die die doppelten Werte enthält.

Um diese Datei alphabetisch zu sortieren und auch die doppelten Werte zu entfernen, wäre der Befehl:

$ sort -u sample1.txt

Dies ist die Ausgabe der sortierten Datei mit entfernten Duplikaten.

Auf sortierte Eingabe prüfen

Mit dem -c Option mit dem Sortierbefehl können Sie überprüfen, ob eine Datei früher sortiert wurde oder nicht. Wenn eine Datei früher sortiert wurde, sehen Sie keine Ausgabe. Wenn die Datei jedoch nicht sortiert ist, werden die Zeilen angezeigt, die in der falschen Reihenfolge sind.

Hier ist unsere Beispieldatei:

Um zu prüfen, ob diese Datei bereits sortiert ist oder nicht, verwenden Sie das -c Option wie folgt:

$ sort -c sample.txt

Da unsere Beispieldatei bereits sortiert war, wird daher keine Ausgabe angezeigt.

Sortierte Ausgabe in einer Datei speichern

Der Sortierbefehl zeigt nur die sortierte Ausgabe im Terminal an; es speichert es nicht. Um die sortierte Ausgabe in einer separaten Datei zu speichern, verwenden Sie den Redirect-Operator. Zum Beispiel, um die sortierte Ausgabe von file.txt zu speichern in einer neuen Datei namens sortedfile.txt , verwenden Sie den folgenden Befehl:

$ sort file.txt > sortedfile.txt

Sortierbefehl mit Pipe-Option

Sie können die Ausgabe anderer Befehle sortieren, indem Sie sie an den sort-Befehl weiterleiten. Beispielsweise möchten wir eine Datei-/Verzeichnisliste im Home-Verzeichnis numerisch nach ihrer Größe sortieren. Wir können dies tun, indem wir ls verwenden Befehl und leitet seine Ausgabe weiter, um den Befehl wie folgt zu sortieren.

$ ls -l /home/kbuzdar/ | sort -nk5

Hier ist die Ausgabe des obigen Befehls, in der Sie sehen können, dass die Dateien nach ihrer Größe sortiert sind.

In diesem Beitrag haben wir die grundlegende Syntax und Verwendung des Sortierbefehls in Linux erklärt. Wir haben auch einige der gängigen Optionen zur Erweiterung der Funktionalität erklärt. Um die Hilfe anzuzeigen und mehr über Sortieroptionen zu erfahren, besuchen Sie die man-Seite von sort oder geben Sie sort –help ein im Terminal.


Ubuntu
  1. Linux-Quellbefehl mit Beispielen

  2. Linux Tee-Befehl mit Beispielen

  3. Linux-Kopfbefehl mit Beispielen

  4. Sortierbefehl in Linux mit Beispielen

  5. JQ-Befehl in Linux mit Beispielen

Tr-Befehl in Linux mit Beispielen

15 Linux-PS-Befehl mit Beispielen

Linux-CD-Befehl mit Beispielen

Wall-Befehl in Linux mit Beispielen

Linux-IP-Befehl mit Beispielen

w Befehl mit Beispielen in Linux erklärt