在我的 Windows-10 PC 上,我已经安装了 Ubuntu 应用程序。在那里,我想对一组 zipfile 的内容进行 grep,但让我们从 1 个 zipfile 开始。我的 zipfile 包含两个文件:一个故障转储和一个错误日志(文本文件),其中包含一些信息。我对该错误日志文件中的信息特别感兴趣:
<grep_inside> zipfile.zip "Access violation"
到目前为止,这是我最好的结果:
unzip -c zipfile.zip error.log
这显示了错误日志文件,但将其显示为十六进制转储,这使得无法在其上启动 grep。
由于在不同的网站提出的,我也尝试下面的命令:vim
,view
,zcat
,zless
和zgrep
所有不工作的原因不同。
一些进一步的调查
这个问题不是这个帖子的重复,一个建议的,我相信这个问题是由日志文件的编码引起的,你可以在其他基本 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
在这篇关于 grepping non-standard text files 的帖子中,我找到了答案:
unzip -c zipfile.zip error.log | grep -a "A.c.c.e.s.s"
现在我有一些事情要开始了。
谢谢大家的配合。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句