2つのファイルを比較し、最初のファイルから一致を印刷し、追加の列を追加します。

2つのファイルを比較し、最初のファイルから一致を印刷し、追加の列を追加します。

2つの異なるファイルがあり、それぞれ1列ずつあります。ファイル1にはより多くの情報があります。ファイル2から一致を検索し、「一致」などの追加の列を含む元のファイル1を返すコマンドが必要です。

ファイル1

Mg_134
Mg_560

ファイル2

Mg_1
Mg_134

出力

Mg_134 match
Mg_560

Joinとgrep -Ffを試してみましたが、この特定の出力を取得したいと思います。ありがとう

答え1

これはかなり標準的な作業でなければなりません。awk

awk 'NR==FNR {a[$1]++; next} $1 in a {$2="match"}1' File2 File1
Mg_134 match
Mg_560

答え2

ファイルがソートされた場合、標準ツールは次のとおりですcomm

comm -2 file1 file2

この-2オプションは特定の印刷ラインを抑制しますfile2

それは与えられません精密ユーザーが指定する形式です。ただし、必要に応じてそれを解析して出力を提供できます。 (標準ツールと標準フォーマットは一般的によく考慮されています。)

関連情報