1

2つのファイルがあります。
最初のファイルには、2番目のファイルで見つけたいteplateがあります。
出力の最初のファイルのように、保存順序にgrepを使用する方法。
例:

file1
dc
as

file2:
aadfadf
asdva
vaad
a
dccsads
asas

私はこのコマンドを使用します:
grep -f file1 file2 >> file3

4

1 に答える 1

5

それは少し遅いですが、非常に簡単です:

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し、結果の重複$TEMP2grep -v避けるために。

于 2012-07-11T11:48:42.567 に答える