Archivos grep para contenido

Archivos grep para contenido

Estoy usando los comandos cygwin 'buscar' y 'grep' para localizar archivos según algún patrón. Yo estoy haciendo esto:

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

Funciona bien y tengo un nombre de archivo con 'vbs' en el nombre del archivo. PERO ahora necesito hacer algo similar, pero necesito encontrar el nombre del archivo según su contenido, por ejemplo, 'vbs' no es parte del nombre del archivo sino parte del contenido del archivo. ¿Cómo se podría modificar? Quizás algo como:

encontrar . -iname '*.zip' -print -exec unzip -l {} \; 2> error.txt | xargs??? ¿Alguien podría aconsejarme? Gracias

Respuesta1

Dado que va a recuperar el contenido del archivo, -lenumerar el archivo zip no será suficiente. realmente necesitas descomprimirlo. entonces:

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

información relacionada