Ich versuche, innerhalb einer Eingabezeile über eine unbekannte Anzahl von Feldern zu sortieren:
Eingang:
ab bc
bc ab
cd ef bc
bc cd ef
cd bc ab
ef ab bc cd gh
Ausgabe:
ab bc
ab bc
bc cd ef
bc cd ef
ab cb cd
ab bc cd ef gh
Ich habe so etwas verwendet, awk '{if($2 < $1) print $2,$1;else print}'
aber es scheint, als würde es über mehr als zwei Felder hinweg chaotisch werden. Irgendeine Hilfe?
text-processing
awk
sort
Chris
quelle
quelle
-l
, müssen Sie keine neue Zeile drucken.print join " ", sort @F
wird genügen.Ein Weg mit GNU awk:
Ausgabe:
quelle
Hier ist eine andere
perl
Lösung, ähnlich der Antwort von @ Birei, aber prägnanter:quelle
Im Shell-Skript:
(Das gabelt zu viel, bevorzugt die Perl- oder Gnu-Awk-Lösung)
quelle