Ich möchte eine Datei auf mehrere Felder sortieren. Eine Probe durch Tabulatoren getrennte Datei ist:Unix-Sortierung, mit primären und sekundären Schlüsseln
a 1 1.0
b 2 0.1
c 3 0.3
a 4 0.001
c 5 0.5
a 6 0.01
b 7 0.01
a 8 0.35
b 9 2.3
c 10 0.1
c 11 1.0
b 12 3.1
a 13 2.1
und ich möchte es alphabetisch nach Feld 1 (mit -d
) haben sortiert und wenn Feld1 ist die gleiche, sortiert nach Feld 3 (mit der -g
Option).
A ist es nicht gelungen, dies zu tun. Meine attemps waren (mit einem echten TABULATORZEICHEN statt <TAB>
):
cat tst | sort -t"<TAB>" -k1 -k3n
cat tst | sort -t"<TAB>" -k1d -k3n
cat tst | sort -t"<TAB>" -k3n -k1d
Keine von diesen arbeiten. Ich bin mir nicht sicher, ob das überhaupt möglich ist. Ich werde ein Skript zur Problemumgehung schreiben, also bin ich nur neugierig, ob es eine Lösung gibt, die nur sort verwendet.
Die ' sort'-Befehl scheint das nicht zu unterstützen. Erwägen Sie stattdessen, zu einer Sprache wie Python oder Perl zu wechseln. – Philipp
Ja, natürlich wird das meine Problemumgehung sein, wie ich bereits erwähnt habe. Ich wollte nur wissen, ob man es mit reinem Sort machen kann – zseder