file1の値が他のファイルの列5に含まれているかどうかをテストします。

file1の値が他のファイルの列5に含まれているかどうかをテストします。

2つのテキストファイルがあります。 file1 には 1 つの列のみが含まれ、一連の id 値には file2 に多数の列が含まれています。 file1の値がfile2の列2に含まれていることを確認する必要があります。 file1の値は、file2の列2の値にのみ含める必要があります(例:347588 file1 - > 1000347588 file2)。ゲームになるでしょう;-)

ありがとうございます!

ベストアンサー1

ファイルがスペースで区切られている場合は、以下を使用してくださいawk

awk '
    NR==FNR{s[$0]=1}
    NR!=FNR{for (v in s){ if ($2 ~ v) { print; next; }}}
' file1 file2
  • $0file1の行()を配列のキーとして保存しますs
  • 2番目のファイルの$2場合は一致するキーがあることを確認し、s一致する場合はその行を印刷します。
  • next同じ行が重複しないようにするには、一致する行に移動します。

おすすめ記事