下面的grep表达式成功地列出了当前目录及其子目录中的所有.exe和.html文件。
ls -R |grep -E .*[\.exe]$\|.*[\.html]$
如何反转此结果以列出那些不是.html或.exe的文件。(即!=.)
下面的grep表达式成功地列出了当前目录及其子目录中的所有.exe和.html文件。
ls -R |grep -E .*[\.exe]$\|.*[\.html]$
如何反转此结果以列出那些不是.html或.exe的文件。(即!=.)
当前回答
使用命令行选项-v或——invert-match,
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
其他回答
grep -v
or
grep --invert-match
你也可以使用find来做同样的事情:
find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)
更多信息请点击这里。
如前所述,反转是通过grep的-v选项实现的。让我补充一点(希望很有趣),你可以通过grep帮助文本自己解决这个问题:
grep --help | grep invert
-v,——invert-match选择不匹配的行
使用命令行选项-v或——invert-match,
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
grep "subscription" | grep -v "spec"
在grep命令中添加-v选项以反转结果。