在Windows-10 PC上,我已经安装了Ubuntu应用程序。在这里,我想对一组zip文件的内容进行grep,但让我们从一个zip文件开始。我的zipfile包含两个文件:崩溃转储和错误日志(文本文件),其中包含一些信息。我对该错误日志文件中的信息特别感兴趣:
<grep_inside> zipfile.zip "Access violation"
直到现在,这是我最好的结果:
unzip -c zipfile.zip error.log
这显示了错误日志文件,但将其显示为十六进制转储,因此无法在其上启动grep。
正如在其他网站上所建议的那样,我还尝试了以下命令:vim
,view
,zcat
,zless
和zgrep
,但并非出于不同的原因工作。
一些进一步的调查
这个问题不是this post的重复,这是一个建议,我认为问题是由日志文件的编码引起的,正如您在解压缩错误日志文件后在其他基本Linux命令的以下结果中所看到的那样:
emacs error.log
... caused an Access Violation (0xc0000005)
cat error.log
. . . c a u s e d a n A c c e s s V i o l a t i o n ( 0 x c 0 0 0 0 0 0 5 )
显然error.log文件未被识别为简单的文本文件:
file error.log
error.log : Little-endian UTF-16 Unicode text, with very long lines, with CRLF line terminators
答案 0 :(得分:0)
在this post on grepping non-standard text files中,我找到了答案:
unzip -c zipfile.zip error.log | grep -a "A.c.c.e.s.s"
现在我有一些起点。
谢谢大家的合作。