2017-04-11 114 views

回答

1

你也可以做到这一点用grep的-v选项是这样的:

grep -rnwl '/home/rascalofthenorth/development/html/' -e "xc2" | grep -v "xbb"

-v选项只显示结果不包含xbb

或为要在其中,比如说,XC2出现,XBB不出现更具体的情况,然后AWK就派上用场了:

awk '/xc2/ && !/xbb/' <yourfile>

+0

谢谢这已经回答了我的问题。我会尽快接受答案。只是一件事|意味着管道是否正确?那么这是否意味着'建立每个文件中包含“xc2”的列表,然后搜索该列表并删除其中包含“xbb”的所有文件?或者还在发生其他事情? – rascalofthenorth

+0

@rascalofthenorth只是注意到使用正则表达式可能有隐藏的陷阱。例如,此解决方案将排除'\ xc2 \ xbb',但也会排除xb2是xcb的一部分的xc2xbb,xbbxc2,xbb和其他许多组合。您可能需要一个更复杂的正则表达式,而不是错误地排除可能需要返回的结果。 –

+0

谢谢George Vasiliou。在Praszyk提供的第二种解决方案中,说“xc2”和“xbb”是正则表达式的一小部分是否正确?第一个会grep -rnwl'/ home/rascalofthenorth/development/html /'-e“\ xc2”| grep -v“\ xc2 \ xbb”更正确吗? – rascalofthenorth

相关问题