A descrição da página de manual para essa opção é meio enganosa ... Seu padrão, como em globs , não é padronizado como em regex . Por info
page :
--exclude-dir=GLOB
Skip any command-line directory with a name suffix that matches the
pattern GLOB. When searching recursively, skip any subdirectory whose
base name matches GLOB. Ignore any redundant trailing slashes in GLOB.
Então, no seu caso, você pode executar:
grep -inRw -E 'direct' . --exclude-dir={git,log,assets}
para excluir os diretórios denominados git
, log
e assets
ou, por exemplo,
grep -inRw -E 'direct' . --exclude-dir={\*git,asset\*}
para excluir nomes de diretório que terminem em git
ou iniciem com asset
.