awk はファイルから文字列を検索します。

awk はファイルから文字列を検索します。

私は現在使用しています

 $ 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/*

おすすめ記事