Encontre um arquivo que tenha uma certa palavra dentro desse arquivo.

1

Então, basicamente eu tenho três arquivos, dois com permissão 744 e um com 601 e eu quero listar os nomes dos arquivos que têm permissão 744 e, além disso, também tem que ter cadeia "def" em qualquer lugar nas linhas de o arquivo.

Tudo que eu tenho é como imprimir se eles têm permissão 744:

find * -perm 744

Como obtenho para verificar a string "def"?

Qualquer ajuda é apreciada.

    
por shawn edward 07.03.2016 / 02:48

2 respostas

5

Siga suas opções atuais com

-exec grep -l def {} +

por exemplo,

find * -perm 744 -exec grep -l def {} +

A opção -l do grep diz apenas para listar os nomes dos arquivos onde ocorre uma correspondência, e como essa é a única ação para find , a saída de grep será tudo o que você vê. / p>     

por 07.03.2016 / 02:55
2

Uma possibilidade:

find * -perm 744 -print0 | xargs -0 grep -l def

    
por 07.03.2016 / 02:58

Tags