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
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
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