最初の単語に基づいて行をグループ化

最初の単語に基づいて行をグループ化

ファイルの次の内容を変更するには:

cat:persian/young-1
cat:winter/young-2
cat:summer/wild-3
dog:persian/young-1
dog:winter/young-2
dog:summer/wild-3

到着する:

cat:persian/young-1
cat:winter/young-2
cat:summer/wild-3

dog:persian/young-1
dog:winter/young-2
dog:summer/wild-3

これは犬や猫に限定されず、最初の単語/用語を象徴的に表現したものです。

ベストアンサー1

次のことができます。

awk -F: 'NR>1 && $1 "" != last {print ""}; {print; last = $1}'

これは""強制文字列比較です。これがないと、入力時に正しく機能しません。たとえば、次のようになります。

100:foo
100:bar
1e2:baz
1e2:biz

ここ100で、とは1e2数値で比較されます。

おすすめ記事