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的需要。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...