Ответ 1
Используйте опцию командной строки -v
или --invert-match
,
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
Следующее выражение grep успешно отображает все файлы .exe и .html в текущем каталоге и подкаталогах.
ls -R |grep -E .*[\.exe]$\|.*[\.html]$
Как инвертировать этот результат, чтобы перечислить те, которые не являются .html или .exe. (То есть, !=
.)
Используйте опцию командной строки -v
или --invert-match
,
ls -R |grep -v -E .*[\.exe]$\|.*[\.html]$
grep -v
или
grep --invert-match
Вы также можете сделать то же самое, используя find
:
find . -type f \( -iname "*" ! -iname ".exe" ! -iname ".html"\)
Подробнее здесь.
Добавьте параметр -v
в свою команду grep
, чтобы инвертировать результаты.
grep "subscription" | grep -v "spec"