我有2个文件:
字符串列表:
ben
john
eric
几行:
ben when to school
my mother went out
the dog is big
john has FB
eric is nice guy
expoted file:
my mother went out
the dog is big
我想使用grep -v
并从列表中删除包含字符串的行。
这是想法,但错误的命令:
grep -v `cat file2` file1 > out
由于
阿萨夫
答案 0 :(得分:7)
将文件用于模式:
grep -v -f "file2" file1 > out
或者你可以这样做:
grep -v -e "string1" -e "string2" file1
答案 1 :(得分:1)
如果我正确理解了这个问题,应该逐个删除4个匹配的行,除非你定义一个包含这4行的REGEXP,否则单个grep不能这样做,这很棘手
但是这个脚本应该这样做
cp file2 out
cat file1 | while read STR ; do
LINE="`grep \"$STR\" file2`"
sed -i "/^$LINE\$/d" out
done
cat out