当我这样做时unzip -l zipfilename,我明白了
1295627 08-22-11 07:10 A.pdf
473980 08-22-11 07:10 B.pdf
...
Run Code Online (Sandbox Code Playgroud)
我只想看文件名.我试试这个
unzip -l zipFilename | cut -f4 -d" "
Run Code Online (Sandbox Code Playgroud)
但我不认为分隔符是公正的" ".
ami*_*tas 96
最简单的方法是使用以下命令:
unzip -Z -1 archive.zip
Run Code Online (Sandbox Code Playgroud)
要么
zipinfo -1 archive.zip
Run Code Online (Sandbox Code Playgroud)
这将仅列出文件名,每行一个.
这两个命令完全相同.该-Z选项告诉unzip将其余选项视为zipinfo选项.有关unzip和zipinfo的信息,请参见手册页.
gle*_*man 25
假设没有文件在名称中有空格:
unzip -l filename.zip | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)
我的解压缩输出有页眉和页脚,因此awk脚本变为:
unzip -l filename.zip | awk '/-----/ {p = ++p % 2; next} p {print $NF}'
Run Code Online (Sandbox Code Playgroud)
处理带空格的文件名的版本:
unzip -l filename.zip | awk '
/----/ {p = ++p % 2; next}
$NF == "Name" {pos = index($0,"Name")}
p {print substr($0,pos)}
'
Run Code Online (Sandbox Code Playgroud)
如果您需要使用空格来满足文件名,请尝试:
unzip -l zipfilename.zip | awk -v f=4 ' /-----/ {p = ++p % 2; next} p { for (i=f; i<=NF;i++) printf("%s%s", $i,(i==NF) ? "\n" : OFS) }'
Run Code Online (Sandbox Code Playgroud)