当`unzip -l`时,从zip压缩文件中提取文件名列表。

当我做的时候unzip -l zipfilename,我看到

1295627  08-22-11 07:10   A.pdf

473980 08-22-11 07:10 B.pdf

...

我只想查看文件名。我尝试这个

unzip -l zipFilename | cut -f4 -d" "

但我认为分隔符并不公正" "

回答:

假设所有文件的名称中都没有空格:

unzip -l filename.zip | awk '{print $NF}'

我的解压缩输出同时具有页眉和页脚,因此awk脚本变为:

unzip -l filename.zip | awk '/-----/ {p = ++p % 2; next} p {print $NF}'


处理带空格的文件名的版本:

unzip -l filename.zip | awk '

/----/ {p = ++p % 2; next}

$NF == "Name" {pos = index($0,"Name")}

p {print substr($0,pos)}

'

以上是 当`unzip -l`时,从zip压缩文件中提取文件名列表。 的全部内容, 来源链接: utcz.com/qa/418281.html

回到顶部