在Linux系统中,有很多方法可以在不先解压缩的情况下搜索压缩文本文件。根据文件的格式,您可以选择查看整个文件、提取特定文本、在文件内容中导航、搜索感兴趣的内容,有时甚至可以编辑内容。我
首先,为了向您展示它是如何工作的,我使用以下命令在我的一个Linux系统(/usr/share/dict/words)上压缩了words文件:
$ cp /usr/share/dict/words。$ xz -k words $ zip words.zip words.zip words.zip words.zip words.zip words.zip words.zip words.zip words.zip words
的- k选项与bzip2,gzip,xz命令阻止这些命令删除原始文件,默认情况下它们会删除原始文件。结果文件看起来像这样:
$ ls -l总计9164 -rw-r- r-。1 shs shs 4953598 Oct 27 16:11 words -rw-r——r——。1 shs shs 1230545 Oct 27 16:14 words.7z -rw-r- r-。1 shs shs 1712421 Oct 27 16:11 words。bz2 -rw-r - r -获取。1 shs shs 1476067 Oct 27 16:11 words.gz -rw-r- r-。1 shs shs 1230236 Oct 27 16:11单词。xz -rw-r——r。1 shs shs 1476203 Oct 28 12:42 words.zip
查看压缩文件内容
要查看压缩文件的全部内容,同时保持压缩文件的完整性,您可以使用以下命令中的任何一个:
- 对于7z: 7z x -so单词
- 对于bz2: bzcat words.bz2
- 对于gz: zcat words.gz
- 对于xz: xzcat words.xz
- 对于zip: zcat words.zip
例如:
美元bzcat的话。bz2|head -5 $ 7z x -so words.7z | head -5 1080 1080 10-point 10-point 10th 10th 11-point 11-point 12-point 12-point
您还可以通过管道将输出传递到命令,例如更多的或grep,或者只是看着它在你的屏幕上快速滚动。
太聪明了,太聪明了,太聪明了
浏览与少
你可浏览某些类型的压缩档案(bz2,广州和xz)使用少命令。
美元少的话。bz2美元少的话。广州美元少的话。xz1080 1080 1080 10-point 10-point 10-point 10th 10th 10th 11-point 11-point 11-point 12-point 12-point 12-point ... ... ...
在7z文件中搜索文本
的7 z命令允许查看归档文件中包含的文件,但是搜索它们的内容需要提取(-x)选项。但是,像下面这样的命令会保持压缩文件的完整性,但也会在过程中提取内容。的所以选项告诉命令将数据写入标准输出。
聪明的;聪明的;聪明的;聪明的最聪明的;聪明过聪明的
好像没有grep——命令7 z文件,但是像这样的命令工作得很好。
搜索其他类型的压缩文件中的文本
要搜索压缩文件中的特定文本,可以使用以下命令:
太聪明了。bz2$ zgrep overclever words.gz $ xzgrep overclever words.xz $ zipgrep overclever words.zip
对于这些命令中的任何一个,你都应该看到它们从压缩的word文件中提取的这些单词:
overclever overcleverly overcleverness
编辑压缩文件
使用6或vim,你可以编辑一些压缩文件(bz2,广州和xz文件)来添加、更改或删除内容。文件将保持压缩在磁盘上,但您可以注意到大小的变化。
美元xzcat的话。xz|tail -3 Zz zZt ZZZ $ vi words.xz $ xzcat words.xz | tail -3 zZt ZZZ I added this line!
总结
考虑到你可以通过各种方式浏览和选择压缩文件中的内容,现在可能是锻炼你“过度聪明”的好时机,看看这篇文章中描述的方法会有多大的帮助。