Я нахожу одно исключение расширение, как
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