找出 .zip 文件内根目录中的文件夹名称

Jan*_*cek 6 linux fedora zip

我使用 Fedora 17 和 bash 作为 shell。我有一个特定的 zip 文件,它的根目录中只有一个文件夹。即解压 zip 文件后,我看到以下内容:

> unzip myzip.zip
> ls
myzip.zip folderThatWasInsideZip

假设您知道 zip 文件中只有 1 个文件夹,那么如何在不实际解压 zip 文件的情况下找到zip 文件中主文件夹的名称?

我正在寻找一个单行,这将使我能够做这样的事情:

> <command> myzip.zip
folderThatWasInsideZip

我知道有多种方法可以用 列出 zip 中的所有文件less,但这会列出子目录等中的所有文件。我只想知道一个文件夹的名称。我知道我错过了一些基本的东西..

jay*_*oby 7

unzip -Z调用Zipinfo 模式,这意味着您可以调用unzip -Z -1 myzip.zip | head -1相同的结果,但它更加简洁


Tho*_*hor 5

这个命令似乎可以做你想做的事:

unzip -qql myzip.zip | head -n1 | tr -s ' ' | cut -d' ' -f5-
Run Code Online (Sandbox Code Playgroud)

或者使用 GNU sed:

unzip -qql myzip.zip | sed -r '1 {s/([ ]+[^ ]+){3}\s+//;q}'
Run Code Online (Sandbox Code Playgroud)