¿Cómo busco el contenido de los archivos 7-Zip (.7z)?

10

Estoy buscando una manera de buscar el contenido de los archivos dentro de un archivo 7-Zip (.7z) sin tener que descomprimir el archivo. Tengo muchos archivos 7-Zip con código dentro de ellos y me gustaría buscarlos.

¿Hay una manera de hacerlo?

Martín
fuente
Qué sistema operativo
Darth Android el
ídem. Aunque, por lo que puedo decir, no hay una forma funcional de montar un archivo 7z en el sistema de archivos en Linux, lo que le permitiría usar las herramientas de archivo * nix habituales para buscar.
Journeyman Geek
@ Martin: ¿buscar qué criterios? ¿nombre? bytes dentro de los archivos almacenados en el .7z?
akira
OS: Windows; Ejemplo de criterio: "mi cadena"
Martin
Hay algunas utilidades que hacen esto muy bien. Ver las respuestas más recientes.
gravidThoughts

Respuestas:

10

En Windows, use un símbolo del sistema:

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

Para buscar un archivo específico, por ejemplo namefile:

7z l compressed.tar namefile -r

Video tutorial: Buscar archivos con 7-Zip

flaviofire
fuente
99
Sí, esto funciona, y es bastante rápido, especialmente si no hay muchas coincidencias. Pero la carpeta donde vive 7z.exe debe estar en RUTA, por ejemplo C:\Program Files\7-Zip. Sin embargo, no busca el contenido de los archivos, solo los nombres de los archivos y, por lo tanto, no responde la pregunta.
Peter Mortensen
4

WinRAR puede hacerlo. Sin embargo, seamos sinceros, implica desempacarlo, a pesar de que WinRAR lo hace a la perfección.

WinRAR, buscando un archivo


fuente
2

Como otros han dicho, no, no hay manera. Para examinar el contenido de un archivo, debe descomprimirse (independientemente de si los archivos están comprimidos o no, o si están cifrados o no). La única forma en que puede evitar tener que descomprimir los archivos es si se agregan con el método de almacenamiento (es decir, no se comprimen en absoluto, solo se agrupan).

Synetech
fuente
2

dnGrep es una excelente implementación de grep de Windows que tiene un complemento de archivo que funciona con todos los formatos de archivo. Puede usar Regex, Xpath, Text o fonética para su búsqueda.

gravidThoughts
fuente
Acabo de instalar esto. Cuando intento ejecutarlo, veo dnGREP.exe en la lista de procesos, pero no aparece la GUI. Intenté matarlo y relanzarlo sin ningún efecto. Tendrá que probar algo más.
pacoverflow
1

Si estás en Linux con 7-Zip instalado:

find . -iname *7z -exec 7zr -l \{\} \; | grep "filename.cpp"
Darth Android
fuente
1
Eso todavía los está desempacando. Aunque no es posible hacer lo que el OP quiere sin desempacarlos, entonces ...
EBGreen
Estoy de acuerdo con EBGreen. Debes desempacarlos, a menos que estés bien con resultados incompletos.
surfasb
1
¿Ese comando no solo busca nombres de archivos ? Martin quiere buscar dentro de los archivos , no solo sus nombres.
Synetech