両方のファイルの一致する行を比較し、肯定的な結果を保存します。

両方のファイルの一致する行を比較し、肯定的な結果を保存します。

2つのファイルがあります。

ファイル1:

A0001  C001
B0003  C896
A0024  C234
.
B1542  C231
.
upto 28412 such lines

ファイル2:

A0001
A0024
B1542
.
.
and 12000 such lines.

ファイル2をファイル1と比較し、一致する行をファイル1に保存したいと思います。 PerlとBashを使ってみましたが、どちらもうまくいかないようです。

最近試したことは次のとおりです。

for (@q) # after storing contents of second file in an array
{
        $line =`cat File1 | grep $_`; #directly calling File 1 from bash
        print $line;
}

しかし、それは失敗しました。

ベストアンサー1

これを行う必要があります。

grep -Ff File2 File1

-f File2ここでパターンを読み、パターンを固定文字列としてFile2扱います-F(つまり、正規表現は使用されません)。

おすすめ記事