
Necesito obtener los directorios raíz de un archivo compuesto en un sistema Linux. Para esto, intenté usar 7zip (p7zip-full) ya que esta herramienta puede leer el formato de archivo compuesto.
Básicamente, esto funciona muy bien, pero genera un texto analizable horrible.
Entonces, mi pregunta para la comunidad es: ¿existe la posibilidad de analizar bien este resultado para obtener un resultado como:
- IPC_0805_CHIP_CAP
- Encabezado de archivo
- Biblioteca
- Forma Z
- DO-214AA
- ...
?
Necesito esta información dentro de un script php. entonces, al final, el comando se ejecutará desde un script php. Si existe alguna posibilidad de leer la estructura del archivo compuesto directamente con php, sería muy apreciado.
Gracias
Respuesta1
Eso es algo de resultado, y 7z no parece tener muchas opciones de formato. No me gustaría probar solo grep, pero una combinación de cabeza, cola y corte debería funcionar lo suficientemente bien como para generar solo los nombres de los archivos, y cortes similares deberían funcionar para el resto de la información, tee
y la sustitución de procesos ( <()
) podría ayudar. O simplemente corte cada línea por caracteres con php (no estoy lo suficientemente familiarizado con él).
Con mi versión 7zr, tiene 18 líneas de información que no es un nombre de archivo al principio y 2 líneas al final, y cada línea tiene 54 caracteres que no son un nombre de archivo al principio, ajústelo si el suyo es diferente:
$ 7zr l test.7z |tail -n+18|head -n-2|cut -c54-
file1
file2
file3