sMa*_*MaN 225 regex linux grep
以下grep表达式成功列出当前目录和子目录中的所有.exe和.html文件.
ls -R |grep -E .*[\.exe]$\|.*[\.html]$
Run Code Online (Sandbox Code Playgroud)
如何反转此结果以列出那些不是.html或.exe的结果.(也就是说!=.)
Eri*_*tis 326
使用命令行选项-v或--invert-match,
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
Run Code Online (Sandbox Code Playgroud)
dar*_*ioo 97
grep -v
Run Code Online (Sandbox Code Playgroud)
要么
grep --invert-match
Run Code Online (Sandbox Code Playgroud)
您也可以使用find以下方法执行相同的操作:
find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)
Run Code Online (Sandbox Code Playgroud)
更多信息在这里.
jmd*_*_dk 13
正如多次所述,反转是通过-v选项实现的grep。让我添加(希望是有趣的)注释,您可以通过搜索grep帮助文本来自己解决这个问题:
grep --help | grep invert
Run Code Online (Sandbox Code Playgroud)
-v, --invert-match 选择不匹配的行