Vamos pegar este arquivo de amostra:
$ cat file.txt
=putSomething here;
Agora, para encontrar todos os arquivos .txt
no diretório atual:
$ grep -n '^[[:space:]]*=' *.txt
file.txt:1: =putSomething here;
Se você quiser encontrar todos os arquivos .txt
no diretório atual e todos os seus subdiretórios , use:
$ grep -rn '^[[:space:]]*=' --include '*.txt'
subdir/another.txt:1: =putSomething here;
file.txt:1: =putSomething here;
Notas
-
find
exargs
não são necessários aqui. Com a opção-r
,grep
pesquisa de forma recursiva por meio de subdiretórios. -
--include '*.txt'
limitsgrep
para arquivos correspondentes ao glob*.txt
. -
^
corresponde no início de uma linha.[[:space:]]*
corresponde a zero ou mais caracteres em branco.=
corresponde a um sinal de igual. Em expressões regulares POSIX, não há nada de especial sobre=
, de modo que possa ser tratado como qualquer outro caractere. -
Terminar um regex do grep com
.*$
não altera quais linhas são correspondidas..*$
corresponde a qualquer caractere ou se nenhum caractere for seguido. O único motivo para usar.*$
é alterar o que o grep destaca como texto correspondente.