Arquivos Grep para conteúdo

0

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

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

Funciona bem e tenho nome de arquivo com 'vbs' no nome do arquivo. MAS agora preciso fazer algo semelhante, 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 isso poderia ser modificado? Talvez algo como:

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

    
por susik 22.06.2016 / 02:47

1 resposta

1

Como você está indo para o conteúdo do arquivo, -l listando o arquivo zip não será suficiente. você precisa descompactá-lo. então:

temp='mktemp -d'    
find . -iname '*.zip' -print -exec unzip -d $temp {} \; 2> error.txt
grep -ir vbs $temp   
    
por 22.06.2016 / 02:50