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

Sortieren einer tabulatorgetrennten Datei

Sie müssen ein tatsächliches Tabulatorzeichen nach dem -t\ einfügen, und dazu drücken Sie in einer Shell Strg-V und dann das Tabulatorzeichen. Die meisten Shells, die ich verwendet habe, unterstützen diesen Modus der wörtlichen Tab-Eingabe.

Seien Sie jedoch vorsichtig, da beim Kopieren und Einfügen von einer anderen Stelle im Allgemeinen keine Tabulatoren erhalten bleiben.


Standardmäßig ist das Feldtrennzeichen ein Übergang von nicht leer zu leer, daher sollte die Tabulatortaste problemlos funktionieren.

Die Spalten sind jedoch mit Basis 1 und Basis 0 indiziert, also möchten Sie wahrscheinlich

sort -k4nr file.txt

um file.txt nach Spalte 4 numerisch in umgekehrter Reihenfolge zu sortieren. (Obwohl die Daten in der Frage sogar 5 Felder haben, wäre das letzte Feld Index 5.)


Die $-Lösung hat bei mir nicht funktioniert. Indem ich jedoch das Tabulatorzeichen selbst in den Befehl einfügte, tat:sort -t'' -k2


Verwendung von bash , das wird den Zweck erfüllen:

$ sort -t$'\t' -k3 -nr file.txt

Beachten Sie das Dollarzeichen vor der Zeichenfolge in einfachen Anführungszeichen. Sie können darüber in den ANSI-C Quoting-Abschnitten der bash nachlesen Manpage.


Linux
  1. Sortierbefehl in Linux mit Beispielen

  2. Uniq für Unicode-Text verwenden?

  3. Teil einer Datei sortieren?

  4. sort-Befehlsbeispiele in Linux

  5. Sortieren mehrerer Schlüssel mit Unix-Sortierung

Sortieren nach dem letzten Feld einer Zeile

Linux-Shell-Sortierdatei nach der zweiten Spalte?

So sortieren Sie eine Datei an Ort und Stelle

Sortieren von menschenlesbaren Dateigrößen

cp-L vs. cp-H

Hinzufügen einer Spalte mit Werten in einer tabulatorgetrennten Datei