Anzahl der Elemente der obersten Ebene im ZIP-Archiv zählen - ZIP, Archivierung, Entpacken

Ich suche nach einem Terminalbefehl zum Zählen der Anzahl der Elemente der obersten Ebene in einem ZIP-Archiv. Das weiß ich zip -l archive.zip zeigt die Anzahl der Dateien an, aber dies zeigt alle Dateien an, nicht nur Elemente der obersten Ebene. Ob archive.zip wird zu folgendem entpacken (* zeigt die oberste Ebene an)

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

dann möchte ich ein programm ausgeben 5.

Antworten:

0 fĂĽr Antwort â„– 1

Hat sich von AFH für diese Lösung inspirieren lassen

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

Was es macht:

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

Lies jetzt