私は現在使用しています
$ awk 'NR==FNR{a[$1];next} ($3 in a)' find.txt path_to_100_files/*
find.txt 文字列を使用して、path_to_100_files/ にある複数のファイルから一致する項目を検索します。
find.txt には以下が含まれます。
[email protected]
[email protected]
その後、path_to_100_files/にはファイルが含まれます。
0.0.0.0:002921931:[email protected]
123.0.0.1:00029382:[email protected]
今はfind.txtの文字列の3番目の列を検索するだけです。しかし、ファイル全体/各列を検索するにはこの検索が必要ですか?
一部のファイルの長さは5列または9列です。例えば、
0.0.0.0:002921931:1111111:[email protected]
123.0.0.1:00029382:1111111:11111:[email protected]
($ 3 in a)を($ 0〜$ 9 in a)に変更しようとしましたが、うまくいかないと思いますか?
ベストアンサー1
なぜフィールドを1つずつ検索するのですか?一度に行全体を検索するとどうなりますか?
grep -f find.txt path_to_100_files/*