计算 ZIP 档案中顶级项目的数量

计算 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

相关内容