如何对压缩的非标准文本文件的内容进行 grep
How to grep on the content of a zipped non-standard textfile
在我的 Windows-10 PC 上,我安装了 Ubuntu 应用程序。我想用 grep 查询一组 zip 文件的内容,但让我们从 1 个 zip 文件开始。我的压缩文件包含两个文件:故障转储和错误日志(文本文件),其中包含一些信息。我对该错误日志文件中的信息特别感兴趣:
<grep_inside> zipfile.zip "Access violation"
到目前为止,这是我最好的成绩:
unzip -c zipfile.zip error.log
这显示了错误日志文件,但它显示为 hexdump,这使得无法对其启动 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
在this post on grepping non-standard text files中找到了答案:
unzip -c zipfile.zip error.log | grep -a "A.c.c.e.s.s"
现在我有事情要开始了。
谢谢大家的配合。
在我的 Windows-10 PC 上,我安装了 Ubuntu 应用程序。我想用 grep 查询一组 zip 文件的内容,但让我们从 1 个 zip 文件开始。我的压缩文件包含两个文件:故障转储和错误日志(文本文件),其中包含一些信息。我对该错误日志文件中的信息特别感兴趣:
<grep_inside> zipfile.zip "Access violation"
到目前为止,这是我最好的成绩:
unzip -c zipfile.zip error.log
这显示了错误日志文件,但它显示为 hexdump,这使得无法对其启动 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
在this post on grepping non-standard text files中找到了答案:
unzip -c zipfile.zip error.log | grep -a "A.c.c.e.s.s"
现在我有事情要开始了。
谢谢大家的配合。