grep ou encontre um padrão em todos os diretórios [duplicado]

2

Eu tenho um número de conta 1234-5678 , estou tentando encontrá-lo em todos os arquivos de diretórios. Eu usei o comando abaixo, mas nenhum resultado foi encontrado.

grep "1234-5678" */

Por favor, alguém pode me ajudar como encontrá-lo em todos os arquivos de diretórios.

    
por Aravind 01.04.2015 / 14:22

2 respostas

3

Portável / padrão:

find . -type f -exec grep 1234-5678 /dev/null {} +

Algumas implementações grep têm -r ou -R opções para pesquisar em arquivos recursivamente. O comportamento varia de implementação para implementação.

Com o grep encontrado no AIX 6.1 por exemplo, você provavelmente desejará usar o -R opção 1 .

Tenha em mente que, ao contrário da abordagem find acima, ela pode procurar em arquivos não regulares como fifos ou arquivos de dispositivos (ou não, eu não tenho acesso a um sistema AIX agora).

1 O suporte para essas opções -r / -R foi incluído no AIX 5.3, de acordo com a documentação on-line da IBM. E deve-se notar que o significado de -r / -R é o inverso daquele do GNU grep (-r segue links simbólicos para diretórios, e -R não, enquanto é o contrário com o GNU grep)

    
por 01.04.2015 / 14:23
1

grep "1234-5678" * -r ou grep "1234-5678" * -R se você quiser seguir os links simbólicos.

    
por 01.04.2015 / 14:24

Tags