列の連続した同じフィールド数の計算

列の連続した同じフィールド数の計算

私の入力ファイルは次のとおりです。

bio, john
chem, john
lang, john
math, dina
math, john
math, matt
lang, matt

同じ名前の行を連続して一度だけ計算したいと思います。この入力について以下を取得したいと思います。

john 2
dina 1
matt 1

sedまたはawkを使用してこれを行う方法はありますか?私はここで完全に迷子になりました。

ベストアンサー1

速くて汚いものが必要な場合は、uniq連続アイテムの重複排除を使用してから、重複アイテムを並べ替えて計算できます。

$ cut -d, -f2 file | uniq | sort | uniq -c
      1  dina
      2  john
      1  matt

おすすめ記事