Як шукати вміст архівів 7-Zip (.7z)?


11

Я шукаю спосіб пошуку вмісту файлів усередині 7-Zip архіву (.7z) без розпакування архіву. У мене є багато 7-Zip архівів з кодом всередині них, і я хотів би їх пошукати.

Чи є спосіб це зробити?


Яка операційна система?
Darth Android

ditto. Хоча з того, що я можу сказати, немає ніякого робочого способу монтажу архіву 7z у файловій системі в Linux, який би дозволив йому використовувати звичайні інструменти * nix для пошуку файлів.
Подорожник Geek

@Martin: пошук за якими критеріями? ім'я? байти всередині файлів, що зберігаються в .7z?
акіра

ОС: Windows; Приклад критеріїв: "мій рядок"
Мартін

Є кілька утиліт, які роблять це дуже добре. Дивіться новіші відповіді.
gravidThoughts

Відповіді:


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. Однак він не здійснює пошук вмісту файлів, лише назви файлів і, таким чином, не відповідає на питання.
Пітер Мортенсен

4

WinRAR може це зробити. Однак, давайте поглянемо на той факт, що він включає його розпакування, навіть незважаючи на те, що WinRAR робить це безперешкодно.

WinRAR, пошук архіву


2

Як говорили інші, ніякого способу немає. Щоб вивчити вміст файлу, його потрібно розпакувати (незалежно від того, чи файли стиснуті твердими чи ні, чи вони зашифровані чи ні). Єдиний спосіб уникнути необхідності розпакувати файли - це, якщо вони додані методом зберігання (тобто зовсім не стискаються, а просто глобулюються разом).



2

dnGrep - відмінна реалізація grep для Windows, яка має плагін архівного файлу, який працює з усіма архівними форматами. Ви можете використовувати Regex, Xpath, Text або фонетичні для свого пошуку.


Щойно встановив це. Коли я намагаюся запустити його, я бачу dnGREP.exe у списку процесів, але GUI не відображається. Намагався вбивати його і відновлювати його безрезультатно. Доведеться спробувати щось інше.
pacoverflow

1

Якщо ви працюєте в Linux із встановленим 7-Zip:

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

1
Це ще розпаковує їх. Хоча неможливо робити те, що хоче ОП, не розпаковуючи їх, тому ...
EBGreen

Я згоден з EBGreen. Ви повинні їх розпакувати, якщо тільки ви не з неповними результатами.
surfasb

1
Чи не ця команда просто шукає назви файлів ? Мартін хоче шукати всередині самих файлів , а не лише їх імена.
Synetech
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.