Jak przeszukiwać zawartość archiwów 7-Zip (.7z)?

11

Szukam sposobu przeszukiwania zawartości plików w archiwum 7-Zip (.7z) bez konieczności rozpakowywania archiwum. Mam wiele archiwów 7-Zip z kodem i chciałbym je przeszukać.

Czy jest na to sposób?

Jaskółka oknówka
źródło
Jaki system operacyjny?
Darth Android
tak samo. Chociaż z tego, co mogę powiedzieć, nie ma działającego sposobu na zamontowanie archiwum 7z w systemie plików w systemie Linux, co pozwoliłoby mu używać zwykłych narzędzi plików * nix do wyszukiwania.
Journeyman Geek
@Martin: wyszukaj, które kryteria? imię? bajty w plikach przechowywanych w .7z?
akira
System operacyjny: Windows; Przykład kryteriów: „mój ciąg”
Martin
Istnieje kilka narzędzi, które robią to bardzo dobrze. Zobacz najnowsze odpowiedzi.
gravidThoughts

Odpowiedzi:

11

W systemie Windows użyj wiersza polecenia:

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

Aby wyszukać określony plik, np . namefile:

7z l compressed.tar namefile -r

Samouczek wideo: wyszukiwanie plików za pomocą 7-Zip

flawiofire
źródło
9
Tak, to działa i jest dość szybkie, szczególnie jeśli nie ma wielu dopasowań. Ale folder, w którym mieszka 7z.exe, musi na przykład znajdować się w zmiennej PATH C:\Program Files\7-Zip. Jednak nie przeszukuje zawartości plików, tylko nazwy plików, a zatem nie odpowiada na pytanie.
Peter Mortensen
4

WinRAR może to zrobić. Spójrzmy jednak prawdzie w oczy, że wiąże się to z rozpakowywaniem, nawet jeśli WinRAR robi to płynnie.

WinRAR, przeszukiwanie archiwum


źródło
2

Jak powiedzieli inni, nie, nie ma mowy. Aby zbadać zawartość pliku, należy go rozpakować (niezależnie od tego, czy pliki są skompresowane jako stałe, czy nie, czy są zaszyfrowane, czy nie). Jedynym sposobem na uniknięcie konieczności dekompresji plików jest dodanie ich za pomocą metody store (tj. Wcale nieskompresowane, tylko globalizacja razem).

Synetech
źródło
2

dnGrep to doskonała implementacja grep dla systemu Windows, która ma wtyczkę pliku archiwum, która działa ze wszystkimi formatami archiwów. Możesz użyć Regex, Xpath, Text lub fonetycznie do wyszukiwania.

gravidThoughts
źródło
Właśnie to zainstalowałem. Kiedy próbuję go uruchomić, widzę dnGREP.exe na liście procesów, ale nie pojawia się GUI. Próbowałem go zabić i uruchomić ponownie bezskutecznie. Będę musiał spróbować czegoś innego.
pacoverflow
1

Jeśli korzystasz z systemu Linux z zainstalowanym 7-Zip:

find . -iname *7z -exec 7zr -l \{\} \; | grep "filename.cpp"
Darth Android
źródło
1
To wciąż je rozpakowuje. Chociaż nie można robić tego, co chce OP, bez ich rozpakowywania, więc ...
EBGreen
Zgadzam się z EBGreen. Musisz je rozpakować, chyba że nie masz wystarczających wyników.
surfasb
1
Czy to polecenie nie szuka tylko nazw plików ? Martin chce szukać wewnątrz samych plików , a nie tylko ich nazwy.
Synetech,