構造体エントリを含むファイルがあります。
a1;b1;c1;
d1;e1;f1;g1
a2;b2;c2;
d2;e2;f2;g2
など。
このファイルをgでソートしたいのですが、そのgにabcを保持したいと思います。コマンドラインでこれを行うための良い方法はありますか?今私が考えることができるのは、やや複雑なPerlスクリプトを書くだけです。
ベストアンサー1
行がペアで提供され、最初の行に3つのフィールドがあり、2番目の行に4つのフィールドがある場合(2番目の行には「g」値が含まれています):
$ sed -n 'N;s/\n//;p' your_file \
| sort -t';' -k7 \
| perl -F';' -ane '$,=";";print @F[0..2],"\n";print @F[3..$#F]'
このsed
セクションでは、2つの連続した行を結合し、sort
7番目のフィールドの入力をソートし、最後;
にperl
各行を2つの部分に分割します。 1つには3つのフィールドがあり、もう1つには4つのフィールドがあります。