2

Мне нужно получить корневые каталоги составного файла в системе Linux. Для этого я попытался использовать 7zip (p7zip-full), так как этот инструмент может читать составной формат файла.

Это в основном прекрасно работает, но выводит ужасный разборчивый текст.

http://pastebin.com/VP4ZW8jr

Поэтому мой вопрос к сообществу заключается в том, есть ли шанс приятно проанализировать этот вывод, чтобы получить такой результат:

  • IPC_0805_CHIP_CAP
  • FileHeader
  • Библиотека
  • ZForm
  • DO-214AA
  • ...

?

Мне нужна эта информация внутри сценария php. поэтому в конце команда будет выполнена из скрипта php. Если есть возможность прочитать составную файловую структуру напрямую с помощью php, это будет высоко оценено.

Спасибо

1 ответ1

1

Это какой-то вывод, и 7z, похоже, не слишком разбирается в форматах. Я не хотел бы пытаться просто grep, но комбинация head, tail & cut должна работать достаточно хорошо, чтобы выводить только имена файлов, и аналогичные сокращения должны работать для замены другой информации, tee и процесса ( <() ) может помочь , Или просто обрежьте каждую строку по символам с помощью php (я недостаточно знаком с этим).

С моей версией 7zr в начале она содержит 18 строк информации, не связанной с именем файла, и 2 строки в конце, в каждой строке по 54 символа не из имени файла, отрегулируйте, если ваша отличается:

$ 7zr l test.7z  |tail -n+18|head -n-2|cut -c54-
file1
file2
file3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .