我正在寻找一个终端命令来计算 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