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?


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


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


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).



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.


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"

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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.