Я ищу способ поиска содержимого файлов внутри архива 7-Zip (.7z) без необходимости распаковывать архив. У меня есть много 7-Zip архивов с кодом внутри них, и я хотел бы найти их.
то же самое. Хотя из того, что я могу сказать, нет никакого рабочего способа монтировать архив 7z в файловую систему в Linux, который позволил бы ему использовать обычные * nix file tools для поиска.
Подмастерье Компьютерщик
@Martin: поиск по каким критериям? имя? байтов внутри файлов, хранящихся в .7z?
Акира
ОС: Windows; Пример критерия: "моя строка"
Мартин,
Есть несколько утилит, которые делают это очень хорошо. Смотрите новейшие ответы.
gravidThoughts
Ответы:
10
В Windows используйте командную строку:
cd C:\Program Files\7-Zip
7z
Для поиска определенного файла, например namefile:
Да, это работает, и это довольно быстро, особенно если матчей не так много. Но папка, в которой живет 7z.exe, должна быть, например, в PATH C:\Program Files\7-Zip. Тем не менее, он не ищет содержимое файлов, только имена файлов и, следовательно, не отвечает на вопрос.
Питер Мортенсен
4
WinRAR может это сделать. Однако давайте посмотрим правде в глаза, что это требует распаковки, хотя WinRAR делает это без проблем.
Как уже говорили другие, нет никакого пути. Чтобы проверить содержимое файла, его необходимо распаковать (независимо от того, являются ли файлы сжатыми или нет, или они зашифрованы или нет). Единственный способ избежать распаковки файлов - это если они добавляются с помощью метода store (т.е. не сжимаются вообще, а просто объединяются).
dnGrep - отличная реализация grep для Windows, которая имеет плагин архивных файлов, который работает со всеми форматами архивов. Вы можете использовать Regex, Xpath, Text или фонетические для вашего поиска.
Просто установил это. Когда я пытаюсь запустить его, я вижу dnGREP.exe в списке процессов, но графический интерфейс не отображается. Пытался убить его и перезапустить безрезультатно. Придется попробовать что-то еще.
Ответы:
В Windows используйте командную строку:
Для поиска определенного файла, например
namefile
:Видеоурок: поиск файлов с 7-Zip
источник
C:\Program Files\7-Zip
. Тем не менее, он не ищет содержимое файлов, только имена файлов и, следовательно, не отвечает на вопрос.WinRAR может это сделать. Однако давайте посмотрим правде в глаза, что это требует распаковки, хотя WinRAR делает это без проблем.
источник
Как уже говорили другие, нет никакого пути. Чтобы проверить содержимое файла, его необходимо распаковать (независимо от того, являются ли файлы сжатыми или нет, или они зашифрованы или нет). Единственный способ избежать распаковки файлов - это если они добавляются с помощью метода store (т.е. не сжимаются вообще, а просто объединяются).
источник
Попробуйте SearchInZipFiles: это простой инструмент с открытым исходным кодом для Windows, расположенный на Sourceforge:
http://sourceforge.net/projects/searchinzipfiles/?source=directory
источник
dnGrep - отличная реализация grep для Windows, которая имеет плагин архивных файлов, который работает со всеми форматами архивов. Вы можете использовать Regex, Xpath, Text или фонетические для вашего поиска.
источник
Если вы используете Linux с установленным 7-Zip:
источник