Как распаковать только первые строки zip-архива?

У меня есть zipped текстовый файл a.zip Я хочу прочитать первые 10 строк. Можно ли это сделать без разархивирования всего файла?

1
задан 4 January 2018 в 15:12

3 ответа

Этот простой скрипт работает для меня:

zcat a.zip | head -n 10

Здесь:

zcat a.zip - распаковывает zip-архив и отправляет его содержимое в стандартный вывод | pipe Выход zcat на вход head head -n 10 - показывает первые 10 строк со своего стандартного входа
4
ответ дан 22 May 2018 в 15:46
  • 1
    это распаковывает весь файл. – yukashima huksay 4 January 2018 в 15:41
  • 2
    @yukashima Я предполагаю, что это зависит от размера a.zip. Когда head завершается (после печати 10 строк), zcat (который gzip -dc за кулисами) должен получить SIGPIPE и остановить распаковку. – PerlDuck 4 January 2018 в 15:53
  • 3
    @yukashimahuksay Как вы знаете, он распаковывает весь файл? Я думаю, что все zip-файлы содержат список файлов в конце архива, возможно, это просто чтение всего файла, но на самом деле не распаковка его – Xen2050 4 January 2018 в 16:38

Этот простой скрипт работает для меня:

zcat a.zip | head -n 10

Здесь:

zcat a.zip - распаковывает zip-архив и отправляет его содержимое в стандартный вывод | pipe Выход zcat на вход head head -n 10 - показывает первые 10 строк со своего стандартного входа
4
ответ дан 17 July 2018 в 23:53

Этот простой скрипт работает для меня:

zcat a.zip | head -n 10

Здесь:

zcat a.zip - распаковывает zip-архив и отправляет его содержимое в стандартный вывод | pipe Выход zcat на вход head head -n 10 - показывает первые 10 строк со своего стандартного входа
4
ответ дан 24 July 2018 в 17:07

Другие вопросы по тегам:

Похожие вопросы: