Answers:
grep -v
要么
grep --invert-match
您还可以使用find
以下方法执行相同的操作:
find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)
更多信息在这里。
find
命令是此XY问题的最语义解决方案。结合起来ls
并grep
为此目的似乎很难。这应该是公认的答案。(+1)
grep "subscription" | grep -v "spec"
-v
/--invert-match
不一定会翻转的返回代码是否grep
指示成功执行,而是将匹配否则不匹配的行。那些希望反转返回代码的人(即,如果所有行均不匹配该模式,而不是至少一个不匹配该模式,则应成功)! grep
。这可用于条件表达式,例如:if ! ls | grep -qE ".(\.exe)$"; then echo No .exe files in $(pwd); fi
。