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