unix – 多个grep搜索/忽略模式

前端之家收集整理的这篇文章主要介绍了unix – 多个grep搜索/忽略模式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我通常使用以下流水线来为特定的搜索字符串进行grep,但忽略某些其他模式:
grep -Ri 64 src/install/ | grep -v \.svn | grep -v "file"| grep -v "2\.5" | grep -v "2\.6"

这可以简洁地实现吗?我使用GNU grep 2.5.3。

只需将未经过滤的输出输出到一个单一的grep实例中,并使用一个扩展的正则表达式来声明你想要忽略的内容
grep -Ri 64 src/install/ | grep -v -E '(\.svn|file|2\.5|2\.6)'

编辑:要搜索多个文件可能尝试

find ./src/install -type f -print |\
    grep -v -E '(\.svn|file|2\.5|2\.6)' | xargs grep -i 64

编辑:哦我忘了添加简单的技巧来停止多次使用grep实例,即

ps -ef | grep something | grep -v grep

替换

ps -ef | grep "[s]omething"

消除了第二个grep的需要。

原文链接:https://www.f2er.com/bash/388186.html

猜你在找的Bash相关文章