Arquivos Grep para conteúdo

Arquivos Grep para conteúdo

Estou usando os comandos cygwin 'find' e 'grep' para localizar arquivos com base em algum padrão. Estou fazendo isso:

find . -iname '*.zip' -print -exec unzip -l {} \; 2> error.txt |grep -i vbs 

Funciona bem e tenho um nome de arquivo com 'vbs' no nome do arquivo. MAS agora preciso fazer o mesmo, mas preciso encontrar o nome do arquivo com base no conteúdo dele, por exemplo, 'vbs' não faz parte do nome do arquivo, mas parte do conteúdo do arquivo. Como poderia ser modificado? Talvez algo como:

encontrar . -iname '*.zip' -print -exec descompactar -l {} \; 2> erro.txt | xargs ??? Alguém poderia aconselhar? Obrigado

Responder1

Como você irá acessar o conteúdo do arquivo, -llistar o arquivo zip não será suficiente. você precisa realmente descompactá-lo. então:

temp=`mktemp -d`    
find . -iname '*.zip' -print -exec unzip -d $temp {} \; 2> error.txt
grep -ir vbs $temp   

informação relacionada