如何反转 grep 表达式
- 2024-10-31 08:38:00
- admin 原创
- 217
问题描述:
以下 grep 表达式成功列出当前目录和子目录中的所有 .exe 和 .html 文件。
ls -R |grep -E .*[.exe]$|.*[.html]$
我如何反转此结果以列出那些不是 .html 或 .exe 的结果。 (即。!=
)
解决方案 1:
使用命令行选项-v
或--invert-match
ls -R |grep -v -E .*[.exe]$|.*[.html]$
解决方案 2:
grep -v
或者
grep --invert-match
您也可以使用以下命令执行相同的操作find
:
find . -type f ( -iname "*" ! -iname ".exe" ! -iname ".html")
更多信息请见此处。
解决方案 3:
将选项添加-v
到您的grep
命令中以反转结果。
解决方案 4:
正如多次提到的,反转是通过-v
选项实现的grep
。让我补充一点(希望有趣)说明,您可以通过查阅帮助文本自己弄清楚这一点grep
:
grep --help | grep invert
-v, --invert-match 选择不匹配的行
解决方案 5:
grep "subscription" | grep -v "spec"
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD