grep simplesmente falha quando usado em alguns arquivos

5

Estou tentando nos últimos 30 minutos fazer isso funcionar corretamente. grep não é exatamente a coisa mais difícil de usar, então estou um pouco perplexo sobre por que isso não funciona.

Os arquivos que estou tentando usar grep on são arquivos de log XHTML simples. Seus nomes estão no formato [email protected], embora eu não ache que isso deva importar, e por dentro é simples XHTML.

Eu copiei um desses arquivos de log para testfile , para que você possa ver a saída de alguns comandos e por que isso é desconcertante para mim:

[~/.chatlogs_windows/dec] > whoami
reid
[~/.chatlogs_windows/dec] > type grep
grep is /bin/grep
[~/.chatlogs_windows/dec] > uname -a
Linux reid-pc 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
[~/.chatlogs_windows/dec] > cat /etc/issue
Linux Mint 10 Julia
[~/.chatlogs_windows/dec] > ls -lh testfile
-rw-r--r-- 1 reid reid  63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > tail -3 testfile 
</body>
</html>
[~/.chatlogs_windows/dec] > file testfile
testfile: XML document text
[~/.chatlogs_windows/dec] > grep html testfile 
[~/.chatlogs_windows/dec] > grep body testfile 
[~/.chatlogs_windows/dec] > grep "</html>" testfile 
[~/.chatlogs_windows/dec] > grep "</body>" testfile
[~/.chatlogs_windows/dec] > cat testfile | grep html
[~/.chatlogs_windows/dec] > cat testfile | wc -l
231
[~/.chatlogs_windows/dec] > cat testfile | tail -3
</body>
</html>
[~/.chatlogs_windows/dec] > chmod a+rw testfile && ls -lh | grep testfile
-rw-rw-rw- 1 reid reid  63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > grep html testfile

É o que estou tentando fazer. Eu quero apenas usar grep -ri query . em ~/.chatlogs_windows , que normalmente funciona perfeitamente para mim ... mas por algum motivo, falha completamente em passar por esses arquivos.

Se for importante, copiei esses arquivos da minha partição do Windows 7. Mas eu os coloquei e dei a mim mesmo todas as permissões apropriadas, e outros programas (como cat ) parecem lê-los bem. Eu também copiei o testfile para testfile_unix e convertei os finais de linha e tentei, mas também não funcionou.

Estou usando o zsh, mas tentei no bash e isso também falhou. Além disso, o grep funciona normalmente: eu testei na minha pasta de documentos e funcionou perfeitamente.

Se você precisar de mais alguma informação, é só me avisar. Eu tentei pesquisar, mas não encontrei razão para o grep simplesmente não funcionar. Desde já, obrigado.

    
por Reid 10.01.2011 / 20:11

1 resposta

7

A ferramenta grep não reconhece a codificação do arquivo UTF-16.

    
por 10.01.2011 / 20:45

Tags