如何搜索7-Zip存档(.7z)的内容?


11

我正在寻找一种无需解压缩存档即可搜索7压缩存档(.7z)中文件内容的方法。我有很多7-Zip存档,里面有代码,我想搜索它们。

有没有办法做到这一点?


什么操作系统?
达斯Android

同上。尽管据我所知,在Linux的文件系统中没有挂载7z归档文件的工作方法,这将使他能够使用常规的* nix文件工具进行搜索。
Journeyman Geek

@Martin:搜索哪些条件?名称?.7z中存储的文件中的字节数?
akira

操作系统:Windows; 条件示例:“我的弦”
马丁

有一些实用程序可以很好地完成此任务。查看最新答案。
gravidThoughts

Answers:


11

在Windows上,使用命令提示符:

cd C:\Program Files\7-Zip
7z

搜索特定文件,例如namefile

7z l compressed.tar namefile -r

视频教程:使用7-Zip搜索文件


9
是的,这可行,而且速度非常快,尤其是在没有很多比赛的情况下。但是,例如7z.exe所在的文件夹必须位于PATH中C:\Program Files\7-Zip。但是,它并没有搜索内容的文件,只有文件名的,因此不回答这个问题。
Peter Mortensen

4

WinRAR可以做到。但是,让我们面对一个事实,那就是即使WinRAR无缝地将其拆包也是如此。

WinRAR,搜索档案


2

正如其他人所说,没有办法。要检查文件的内容,需要将其解压缩(无论文件是否经过压缩压缩,或者是否经过加密)。避免解压缩文件的唯一方法是,如果文件是使用store方法添加的(即,根本不压缩,只是一起压缩)。



2

dnGrep是一个出色的Windows grep实现,它具有一个可用于所有存档格式的存档文件插件。您可以使用Regex,Xpath,Text或注音进行搜索。


刚刚安装了这个。当我尝试运行它时,在进程列表中看到dnGREP.exe,但是没有出现GUI。试图杀死它并重新启动它没有任何效果。将不得不尝试其他东西。
pacoverflow '17

1

如果您使用的是安装了7-Zip的Linux:

find . -iname *7z -exec 7zr -l \{\} \; | grep "filename.cpp"

1
那仍然在拆箱。尽管不拆开包装袋就不可能做OP想要的事情,所以……
EBGreen

我同意EBGreen。您必须解压缩它们,除非您对结果不完整感到满意。
surfasb

1
该命令不只是搜索文件名吗?Martin想要在文件内部进行搜索,而不仅仅是文件名。
Synetech
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.