300,000行を超えるFILE_Aと3,000万行を超えるFILE_Bがあります。FILE_Aの各行をFILE_Bで確認し、grepの結果を新しいファイルに書き込むBashスクリプトを作成しました。
このプロセス全体に5時間以上かかります。
スクリプトのパフォーマンスを向上させるにはどうすればよいですか?
grep -F -m 1
grepコマンドとして使用しています。FILE_Aは次のようになります。
123456789
123455321
FILE_Bは次のようになります。
123456789,123456789,730025400149993,
123455321,123455321,730025400126097,
したがって、Bashではwhile
、FILE_Aの次の行を選択して、FILE_Bでそれを調べるループがあります。パターンがFILE_Bで見つかったら、result.txtファイルに書き込みます。
while read -r line; do
grep -F -m1 $line 30MFile
done < 300KFile