2つのファイルがあります。
file1
:
905894
1197693
3703749
file2
:
905894 Test1
1197693 Test2
3703749 Test3
ファイル1の列1の要素がファイル2の列1の単語と一致する場合は、2番目の列の値を取得したいと思います。
私はawkがこれを行うことができることを知っていますが、ファイル1を読み込んでループを使用するのをやめています。
ベストアンサー1
使用grep
:
$ grep -wFf file1 file2
905894 Test1
1197693 Test2
3703749 Test3
-f
一致させるパターン(1行に1つずつ)を取っていることを示します。file1
-F
パターンは固定文字列から取得されます。file1
つまり、一致する前に追加の操作は必要ありません。-w
完全な単語パターンを含む行が一致していることを示します。単語構成文字のみが[A-Za-z0-9_]
考慮され、他の文字は単語区切り文字と見なされます。これにより、905894abcd
列内の項目は一致せず、列全体のみが一致します。
man grep
これに関するより多くのアイデアをチェックしてください。