如何grep压缩的非标准文本文件的内容

时间:2019-03-19 08:16:09

标签: linux grep unzip

在Windows-10 PC上,我已经安装了Ubuntu应用程序。在这里,我想对一组zip文件的内容进行grep,但让我们从一个zip文件开始。我的zipfile包含两个文件:崩溃转储和错误日志(文本文件),其中包含一些信息。我对该错误日志文件中的信息特别感兴趣:

<grep_inside> zipfile.zip "Access violation"

直到现在,这是我最好的结果:

unzip -c zipfile.zip error.log

这显示了错误日志文件,但将其显示为十六进制转储,因此无法在其上启动grep。

正如在其他网站上所建议的那样,我还尝试了以下命令:vimviewzcatzlesszgrep,但并非出于不同的原因工作。

一些进一步的调查

这个问题不是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

1 个答案:

答案 0 :(得分:0)

this post on grepping non-standard text files中,我找到了答案:

unzip -c zipfile.zip error.log | grep -a "A.c.c.e.s.s"

现在我有一些起点。

谢谢大家的合作。