我有2个文件。
在第一个文件中,我有我想在第二个文件中找到的 teplates。
我必须如何使用 grep 来保存输出的第一个文件中的保存顺序。
例子:
文件 1:
一个
dc
作为
文件 2:
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
Run Code Online (Sandbox Code Playgroud)
中的结果列表result。
我使用临时文件$TEMP1和$TEMP2和grep -v避免结果中的重复。