複数のファイル間の共通点を見つける

複数のファイル間の共通点を見つける

次のようなファイルが4つあります。

       file A
       >TCONS_00000867
       >TCONS_00001442
       >TCONS_00001447
       >TCONS_00001528
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921

       file b
       >TCONS_00001528
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921
       >TCONS_00001922
       >TCONS_00001924

       file c
       >TCONS_00001529
       >TCONS_00001668
       >TCONS_00001921
       >TCONS_00001922
       >TCONS_00001924
       >TCONS_00001956
       >TCONS_00002048

       file d
       >TCONS_00001922
       >TCONS_00001924
       >TCONS_00001956
       >TCONS_00002048

すべてのファイルには2000を超える行が含まれ、最初の列に基づいてソートされます。

すべてのファイルで共通点を見つけたいです。 awk、grep、commを試しましたが、うまくいきません。

ベストアンサー1

ファイルはすでにソートされているので:

comm -12 a b |
  comm -12 - c |
  comm -12 - d

commファイル間の行を見つけますcomm。デフォルトでは、commタブで区切られた3つの列を印刷します。

  1. 最初のファイルに固有の行、
  2. 2番目のファイルに固有の行、
  3. 両方のファイルに共通の行です。

-1、、、-2オプションを使用すると、その列-3を抑制します。したがって、レポートとcomm -12 a b公開行。 stdinを表すためにファイル名の代わりに使用できます。ab-

おすすめ記事