Saya mencoba mengurutkan dalam satu baris input ke sejumlah bidang yang tidak diketahui:
Memasukkan:
ab bc
bc ab
cd ef bc
bc cd ef
cd bc ab
ef ab bc cd gh
Keluaran:
ab bc
ab bc
bc cd ef
bc cd ef
ab cb cd
ab bc cd ef gh
Saya telah menggunakan sesuatu seperti awk '{if($2 < $1) print $2,$1;else print}'
tetapi sepertinya akan berantakan lebih dari dua bidang. Ada bantuan?
text-processing
awk
sort
Chris
sumber
sumber
-l
, Anda tidak perlu mencetak baris baru.print join " ", sort @F
akan cukup.Salah satu cara menggunakan GNU awk:
Keluaran:
sumber
Ini adalah
perl
solusi lain , mirip dengan jawaban @ Birei tetapi lebih ringkas:sumber
Dalam skrip shell:
(Itu bercabang terlalu banyak, lebih suka perl atau solusi gnu awk)
sumber