Sortieren Sie Daten basierend auf der zweiten Spalte einer Datei in Bash

Nilesh Katuwal 8 Oktober 2023
  1. Überblick über den sort-Befehl in Bash
  2. Sortieren Sie Daten basierend auf der zweiten Spalte einer Datei in Bash
Sortieren Sie Daten basierend auf der zweiten Spalte einer Datei in Bash

Dieser Artikel informiert über das Sortieren von Daten basierend auf der zweiten Spalte einer Datei in Bash.

Überblick über den sort-Befehl in Bash

Eine Datei wird mit dem Befehl sort sortiert, der die Datensätze in eine bestimmte Reihenfolge bringt. Standardmäßig sortiert der Befehl sort Dateien unter der Annahme, dass sie ASCII-Daten enthalten.

Die numerische Sortierung ist eine weitere Option, die über den Befehl sort verfügbar ist. Der Befehl Sortieren umfasst die folgenden Funktionen:

  1. Zeilen, die mit einer Zahl beginnen, werden vor Zeilen angezeigt, die mit Buchstaben beginnen.
  2. Zeilen, die mit einem Buchstaben beginnen, der in alphabetischer Reihenfolge später kommt, werden nach Zeilen kommen, die mit einem früheren Buchstaben beginnen.
  3. Zeilen, die mit einem Großbuchstaben beginnen, werden vor denen angezeigt, die mit demselben Kleinbuchstaben beginnen.

Angenommen, wir erstellen eine Datendatei mit dem Namen Dateiname.csv. Und öffnen Sie diese Datei in Bash mit dem Befehl cat.

Syntax zum Öffnen einer Datei in Bash:

$ cat filename.csv

Sortieren Sie eine Datei mit gemischter Groß- und Kleinschreibung:

In einer gemischten Datei mit Groß- und Kleinbuchstaben werden zuerst die Großbuchstaben und dann die Kleinbuchstaben sortiert.

Es gibt zahlreiche Möglichkeiten zum Sortieren, darunter:

  • -k - Diese Option hilft, Daten basierend auf einer bestimmten Spalte zu sortieren. Beispielsweise sortiert das Argument -k5 beginnend mit dem fünften Feld in jeder Zeile, nicht mit dem fünften Zeichen in jeder Zeile (beachten Sie, dass die Spalte hier als durch Komma getrenntes Feld definiert ist).

  • -n - Diese Option bezeichnet eine numerische Sortierung, was bedeutet, dass die Spalte nicht als Text, sondern als Zahlenreihe gelesen werden soll.

  • -r - Mit der Option -r wird die Sortierreihenfolge umgekehrt. Eine andere Schreibweise ist -reverse.

  • -i - Diese Option ignoriert Zeichen, die nicht gedruckt werden können. Eine andere Schreibweise ist -ignore-nonprinting.

  • -b - Diese Option berücksichtigt keine führenden Leerzeichen, was hilfreich ist, da die Anzahl der Zeilen mit Leerzeichen berechnet wird. Eine andere Schreibweise ist Leerzeichen ignorieren.

  • -f - Diese Option ignoriert die Großschreibung, A==a. Eine andere Schreibweise ist ignore-case. Diese Option bewirkt, dass die Vorverarbeitung einen anderen Operator als das Leerzeichen verwendet: -t [neues Trennzeichen].

    Eine andere Schreibweise ist -field-separator.

Sortieren Sie Daten basierend auf der zweiten Spalte einer Datei in Bash

Mit der Option -k ermöglicht uns sort, eine Datei nach Spalten zu sortieren. Beginnen wir damit, eine Datei mit mehreren Spalten zu erstellen. Beim Sortieren wird ein einzelnes Leerzeichen verwendet, um jede Spalte zu teilen.

Zum Beispiel verwenden wir -k 2, um in der zweiten Spalte zu sortieren. Wir haben bereits eine Datei mit dem Namen Dateiname.csv erstellt. Die in dieser Datei verfügbaren Daten sind nachstehend aufgeführt:

Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11

Verwenden Sie den Befehl cat, um die Elemente in der Datei vor dem Sortieren anzuzeigen.

$ cat filename.csv

AUSGANG:

Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11

Syntax zum Sortieren von Daten basierend auf der zweiten Spalte einer Datei in Bash:

sort -k2 -n filename.csv

Ausgabe nach dem Sortieren der zweiten Spalte:

Bonie,22
Flamingo,34
Henry,15
Julie,23
Peter,11