Подсчитать количество предметов верхнего уровня в ZIP-архиве
Я ищу команду терминала для подсчета количества элементов верхнего уровня в ZIP-архиве. я знаю это zip -l archive.zip
покажет количество файлов, но это покажет все файлы, а не только элементы верхнего уровня. Если archive.zip
разархивирует к следующему (* указывает на верхний уровень)
* Dir1
File1
File2
* Dir2
File3
File4
File5
File6
* Dir3
* File7
* File8
тогда я хотел бы программу для вывода 5
,
1 ответ
Решение
Для вдохновения воспользовался 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