次のスクリプト出力があります
host1:101
host1:102
host2:101
host2:102
host2:103
host4:101
host5:101
host5:102
host5:103
host5:104
など..
各ホストグループの後に新しい行を挿入したいと思います。
host1:101
host1:102
host2:101
host2:102
host3:101
host3:102
各連続行を最初のフィールドと比較し、一致しない最初のフィールドの前に新しい行を挿入するオンラインAWKユーザーはありますか?
ベストアンサー1
awk -F: '{if (NR>1 && save!=$1) print "";} {save=$1; print;}'
行1の前に空の行を挿入したくないので、それ以外の場合も考えないでくださいNR>1
。その後、最初のフィールドが前の行に格納された値でない場合は、空の行が印刷されます。