Ich habe diese Eingabe:
sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4
Ich brauche diese Ausgabe:
sdi44sw 43
dkd8k jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1
Also muss ich die Zeilen nach der letzten Spalte sortieren.
Ich weiß nicht, wie viele Spalten sich in einer Zeile befinden.
Ich kann es einfach nicht herausfinden, wie es geht. Ich habe keine "Perl-Kräfte". Ich habe gerade ~ durchschnittliche Skriptfähigkeiten mit sed, awk, cut, etc ..
Weiß jemand, wie es geht?
text-processing
sort
LanceBaynes
quelle
quelle
sort -k
. Diebegfield
Funktion in der GNU-Sortierung zählt nur bis auf Null herunter. Ihr Ansatz zum Dekorieren, Sortieren und Undekorieren (DSU) scheint der beste Weg zu sein, wie ich finde.$NF,$RS
und nicht$NF,$0
? Das wusste ich$RS
nicht. (Ich denke, es ist äquivalent zu$NF,$"\n"
, was dasselbe tut, aber das ist auch überraschend, denke ich.)$
kann auf jeden Ausdruck gefolgt werden. " Die Auswirkung des Feldnummernausdrucks, der eine andere als eine nicht negative Ganzzahl ergibt, ist nicht angegeben. " GNU awk (auf meinem System) behandelt einen String"\n"
als Null. Andere (zB die ursprüngliche Implementierung von A, W und K) brechen mit einer Fehlermeldung ab. Wenn es sichRS
zufällig um eine Ziffer handelt, erhalten Sie bei jeder Implementierung das entsprechende Feld. Also mach das nicht, benutze$0
.