1

我有 2 个文件。
在第一个文件中,我有我想在第二个文件中找到的 teplates。
我必须如何在输出的第一个文件中使用 grep 来保存订单。
例子:

file1:
一个
dc
作为

文件2
aadfadf
asdva
vaad
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 回答