3

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

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

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

1 ответ1

0

Для вдохновения воспользовался AFH

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

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