次のような2つの入力ファイルがあります。
file1
123
456
789
file2
123|foo
456|bar
999|baz
キーがfile1にあるfile2から行をコピーする必要があるため、最終結果は次のようになります。
file3
123|foo
456|bar
現在、キーファイルをループしてそれぞれにgrepを使用するシェルスクリプトを使用しています。
grep "^${keys[$keyindex]}|" $datafile >&4
しかし、ご想像のとおり、これは非常に遅いです。キーファイル(file1)には約400,000のキーがあり、データファイル(file2)には約750,000の行があります。これを行うためのより良い方法はありますか?