Я ищу способ поиска содержимого файлов внутри архива 7-Zip (.7z) без необходимости распаковывать архив. У меня есть много 7-Zip архивов с кодом внутри них, и я хотел бы найти их.
Есть способ сделать это?
В Windows используйте командную строку:
cd C:\Program Files\7-Zip
7z
Для поиска определенного файла, например, namefile
:
7z l compressed.tar namefile -r
Видеоурок: поиск файлов с 7-Zip
Попробуйте SearchInZipFiles: это простой инструмент с открытым исходным кодом для Windows, расположенный в Sourceforge:
http://sourceforge.net/projects/searchinzipfiles/?source=directory
dnGrep - отличная реализация grep для Windows, которая имеет плагин архивных файлов, который работает со всеми форматами архивов. Вы можете использовать Regex, Xpath, Text или фонетические для вашего поиска.
Как уже говорили другие, нет никакого пути. Чтобы проверить содержимое файла, его необходимо распаковать (независимо от того, являются ли файлы сжатыми или нет, или они зашифрованы или нет). Единственный способ избежать распаковки файлов - это если они добавляются с помощью метода store (то есть не сжимаются вообще, а просто объединяются).
Если вы работаете в Linux с установленным 7-Zip:
find . -iname *7z -exec 7zr -l \{\} \; | grep "filename.cpp"