Estou tentando usar o comando Gnuwin32 grep para produzir uma lista de arquivos que gostaria de alimentar para outro comando (um script Perl, na verdade). Eu tenho um monte de arquivos HTML e gostaria de listar cada um deles que corresponda ao regexp itemprop=['"]description
.
Agora, depois de alguns mexer, descobri que a chamada cmd.exe
grep -i -E -l "itemprop=['\"]description" path/to/files/*.htm
funciona bem, mas não posso canalizar sua saída para perl (ou qualquer outro comando):
grep -i -E -l "itemprop=['\"]description" path/to/files/*.htm | perl myscript.pl
imprime uma lista de arquivos no terminal, seguida por
grep: |: No such file or directory
grep: perl: No such file or directory
myscript.pl
trata de grep | e palavras subseqüentes como argumentos.
Como evito isso?
Além disso, tentei superar o problema com o Powershell. Eu posso canalizar muito bem a partir daí (se eu usar uma expressão elementar, como "itemprop"), mas eu tenho problemas para especificar a expressão para procurar.
grep -i -E -l "itemprop=['\"]description" path/to/files/*.htm
simplesmente não funciona. Powershell mostra-me um > > Eu nem sei o que significa (esperando mais informações)? Eu tentei todos os tipos de citações de escape, mas nenhum parece funcionar. Às vezes é o shell, às vezes é o grep que está reclamando por um [caractere incomparável.
Qualquer ajuda é muito apreciada.