Unix: 列から重複値を取得してファイルを生成する [重複]

Unix: 列から重複値を取得してファイルを生成する [重複]

たとえば、次のようなコードがあり、列2で重複したコンテンツをインポートして、ここから新しいファイルを生成するとします。

Dog     121        234
Cat     121        222
Rate    123        256
Mouse   122        233
Hat     121        230

したがって、列2に「121」が含まれているすべての項目が必要になり、それに新しいファイルを作成します。

ベストアンサー1

ファイルを2回通過することでこれを行うことができます。 1回は発生回数を計算し、1回は1回以上の回数を印刷します。

$ awk 'NR==FNR {count[$2]++; next} count[$2] > 1' file file
Dog     121        234
Cat     121        222
Hat     121        230

おすすめ記事