Encontrar em arquivos, Linux

1

Digamos que eu queira encontrar todos os arquivos que mencionam "Jonathan Appleseed" em um sistema Linux.

Eu vejo exemplos usando o grep, mas ainda não consigo pesquisar como (todos diretórios de AQUI). Então eu quero olhar em tudo abaixo de / var /, por exemplo

    
por bobobobo 20.08.2010 / 20:25

3 respostas

2

haha. Vai demorar horas: > em todo caso .... grep -RE 'Jonathan Appleseed' R é para recursivo e E para maiúsculas e minúsculas

    
por 20.08.2010 / 20:27
1

Se o seu grep não tiver a opção -R,

find /var -type f -print | xargs egrep 'Jonathan Appleseed'

geralmente faz o que você está pedindo.

    
por 20.08.2010 / 20:59
0

I want to find all files that mention "Jonathan Appleseed" in a Linux system.

Você está procurando:

grep -l -r "Jonathan Appleseed" /

Se você deseja executar um comando em todos os arquivos correspondentes, sugiro que:

grep -l -z -r "Jonathan Appleseed" / | xargs -0 <your command here>

Observe que -l significa mostrar apenas o nome do arquivo (não corresponde ao texto), -r significa recursivo e -z (se você optar por usá-lo) significa que os nomes dos arquivos são nulos ("\ 0") terminados em vez de terminados com um retorno de carro. Isso significa que os xargs podem manipular nomes de arquivos com espaços, tabulações e retornos de carro no nome mais facilmente.

Eu também estou passando / para indicar que o grep deve começar na raiz do sistema de arquivos ("todos os arquivos ... em um sistema Linux.")

    
por 21.08.2010 / 06:20