Os detalhes dependem exatamente do que você quer fazer, mas resultados negativos podem ajudar. Certos idiomas de expressões regulares, incluindo o PCRE, suportam isso. Você pode ativar os PCREs em grep
com a opção -P
, portanto, dependendo do padrão específico que você está procurando, você poderá fazer algo inteligente com eles, mas é muito improvável que valha a pena o esforço.
Depois de ler sua atualização, existem maneiras muito melhores de fazer isso. grep
oferece a opção -exclude
:
--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.
Então, você poderia simplesmente fazer
grep -Inr TEXT --exclude='*.svn' dir/