2つのファイルがあります。
最初のファイルには、2番目のファイルで見つけたいteplateがあります。
出力の最初のファイルのように、保存順序にgrepを使用する方法。
例:
file1
:
dc
as
file2:
aadfadf
asdva
vaad
a
dccsads
asas
私はこのコマンドを使用します:
grep -f file1 file2 >> file3
それは少し遅いですが、非常に簡単です:
TEMP1=$(mktemp /tmp/grep.XXXXXXXXXXX)
TEMP2=$(mktemp /tmp/grep.XXXXXXXXXXX)
cat file2 > $TEMP1
cat file1 | while read line
do
grep "$line" $TEMP1
grep -v "$line" $TEMP1 > $TEMP2
mv $TEMP2 $TEMP1
done > result
rm $TEMP2 $TEMP1
結果のリストresult
。
一時ファイルを使用$TEMP1
し、結果の重複$TEMP2
をgrep -v
避けるために。