インラインソートフィールド

インラインソートフィールド

フィールド数が不明な入力行を並べ替えようとしています。

入力する:

ab bc
bc ab
cd ef bc 
bc cd ef
cd bc ab
ef ab bc cd gh

出力:

ab bc
ab bc
bc cd ef
bc cd ef
ab cb cd
ab bc cd ef gh

似たようなものを使ってきましたが、awk '{if($2 < $1) print $2,$1;else print}'2つ以上のフィールドで問題が発生しているようです。助けが必要ですか?

ベストアンサー1

それを使用する1つの方法perl

perl -lane 'printf qq[%s\n], join q[ ], sort @F' infile

出力:

ab bc
ab bc
bc cd ef
bc cd ef
ab bc cd
ab bc cd ef gh

おすすめ記事