Я нахожу одно исключение расширение, как
grep --exclude "*.js" "a" *
Как написать несколько исключающих масок?
Я пробовал код ниже, но он не работает:
grep -r --exclude=*.\{html,htm,js} "li" *
grep -R -E '(\.js|rb)' "create" *
Вам следует избегать звездочки, а не фигурной скобки. Ваша команда должна выглядеть так:
grep -r --exclude=\*.{html,htm,js} "li" *
man grep * scroll scroll scroll *
--exclude=GLOB Skip files whose base name matches GLOB (using wildcard matching). A file-name glob can use *, ?, and [...] as wildcards, and \ to quote a wildcard or backslash character literally.
Посмотрите "Shell Globbing" для получения дополнительной информации
Пример:
$ grep -r --exclude=\*.{png,jpg} a . ./moo.txt:a ./moo.htm:a ./hai:a $ ls hai hai.png moo.htm moo.txt