Подсчет количества элементов верхнего уровня в ZIP-архиве

Я ищу команду терминала для подсчета количества элементов верхнего уровня в ZIP-архиве. Я знаю это zip -l archive.zip будет показывать количество файлов, но это показывает все файлы, а не только элементы верхнего уровня. Если archive.zip разархивирует до следующего (*обозначает верхний уровень)

* Dir1
    File1
    File2
* Dir2
    File3
    File4
    File5
    File6
* Dir3
* File7
* File8

тогда я хотел бы программу для вывода 5.

27
задан BallpointBen
30.03.2023 3:37 Количество просмотров материала 2969
Распечатать страницу

1 ответ

взял вдохновение от AFH, чтобы использовать это решение

zipinfo -1 archive.zip | 
    egrep '^[^/]+/?$' | 
    egrep -v '__MACOSX' | 
    wc -l |
    awk '{=};1'

принцип действия:

Get list of files in archive
Filter for top-level files or dirs; must either contain no '/' or end in '/'
Remove lines containing __MACOSX (for archives created on a Mac)
Get line count
Remove trailing whitespace; http://unix.stackexchange.com/a/205854/169465
0
отвечен BallpointBen 2023-03-31 11:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх