下面的grep表达式成功地列出了当前目录及其子目录中的所有.exe和.html文件。

ls -R |grep -E .*[\.exe]$\|.*[\.html]$  

如何反转此结果以列出那些不是.html或.exe的文件。(即!=.)


当前回答

如前所述,反转是通过grep的-v选项实现的。让我补充一点(希望很有趣),你可以通过grep帮助文本自己解决这个问题:

grep --help | grep invert

-v,——invert-match选择不匹配的行

其他回答

使用命令行选项-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 "subscription" | grep -v "spec"  

如前所述,反转是通过grep的-v选项实现的。让我补充一点(希望很有趣),你可以通过grep帮助文本自己解决这个问题:

grep --help | grep invert

-v,——invert-match选择不匹配的行