私の問題の簡略化されたバージョンはfile2
キーですfile1
。
たとえば、
file1
(鍵付き)
a
d
f
file2
(キーバリハリ含む)
a=1
b=2
c=3
d=4
f=5
g=6
予想出力:
a=1
d=4
f=5
私が試したこと:
cat file1 | xargs -I % grep "^%=" file2
このアプローチはうまく機能しますが、ファイルが大きいとパフォーマンスが低下します。 (たとえば、file1には12kラインがあり、file2には20kラインがあります)
最良のアプローチは何ですか?
ベストアンサー1
awkを試してみてください。
$ awk 'NR==FNR{keys[$1]; next} $1 in keys' file1 FS='=' file2
a=1
d=4
f=5