最初の列にシングルトンを含むすべての行を削除します。

最初の列にシングルトンを含むすべての行を削除します。

最初の列にシングルトンを含むすべての行を削除したいです。例えば

入力:文字は何千もの可能な変数を表します。数字は列と行を表します。複数の列があります(ここには表示されません)。

    1.
1.  A
2.  B
3.  C
4.  C
5.  D
6.  E
7.  A
8.  H
9.  D
10. D

出力:

     1.
 1.  A
 3.  C
 4.  C
 5.  D
 7.  A
 9.  D
10.  D

ベストアンサー1

私はあなたの期待を理解すると思います。

awk 'NR==FNR{s[$1]++;next}
     (s[$1]>1){ printf("%2d. %s\n",FNR,$0)
}' infile infile
 1.  A  another_column  ...
 3.  C  ... 
 4.  C  ...
 5.  D  ...
 7.  A  ...
 9.  D  ...
10.  D  ...

結果にレコード番号を含めない場合は、次のコマンドを使用します。

awk 'NR==FNR{s[$1]++;next} (s[$1]>1)' infile infile
 A  another_column  ...
 C  ... 
 C  ...
 D  ...
 A  ...
 D  ...
 D  ...

おすすめ記事