省略.txt
001
006
008
0016
文件到grepfrom.txt
001
006
007
008
0016
00546
008
0031
00
0021
0016
我想要做
cat filetogrepfrom.txt | grep -a 00 | grep -v {lines from omit.txt}
答案1
grep -a 00 Filetogrepfrom.txt | grep -vf omit.txt
-f 文件,--file=文件
从文件中读取一个或多个换行符分隔的模式。空模式行与每个输入行匹配。换行符不被视为模式的一部分。如果文件为空,则没有任何内容匹配。
这应该做你想做的。
注意:grep
可以从文件中读取,因此不需要cat
鉴于您的示例,您也是grep -a 00
不必要的,因为它将匹配所有行。此外,您似乎不太可能需要-a
文件.txt
,但我见过更奇怪的事情。
答案2
假设grep -a 00
是无关的,以下应该有效:
grep -vf omit.txt Filetogrepfrom.txt
警告:除非您确定Filetogrepfrom.txt
永远不会包含“0011”,否则会omit.txt
用“001”过滤掉“0011”,否则您确实应该使用类似的内容来绑定“omit.txt”,例如:omit 。TXT:
^001$ ^006$ ^008$ ^0016$