使用正则表达式的grep

时间:2012-11-19 13:45:05

标签: shell scripting grep

命令grep -vf 1.txt 2.txt > 3.txt3.txt 2.txt 1.txt所拥有的内容grep,但我如何使用Example: (0001) compare test ignore 984 ignore (10) compare (1242342542) compare 来比较字符串有(0-9)?

{{1}}

3 个答案:

答案 0 :(得分:1)

如果您希望仅保留与模式匹配的结果,则可以简单地对输出进行后处理:

grep -vf 1.txt 2.txt | grep '([0-9]\+)' > 3.txt

或者,如果您只想使用1.txt中与比较模式匹配的行,您可以尝试:

grep -vf <(grep "([0-9]\+)" 1.txt) 2.txt > 3.txt

答案 1 :(得分:0)

简单的方法是:

保存到3.txt之前

,将结果传递给grep -E '[0-9]+' > 3.txt

看起来像: grep -vf.... |grep -E '[0-9]+' > 3.txt

如果你给出一些1.txt,2.txt和预期的3.txt的例子,可能会有一种有效的方法。

答案 2 :(得分:0)

这也应该有效:

awk 'FNR==NR {arr[$0];next} !($1 in arr)' 1.txt 2.txt

问候