![如何“撤消” unzip 命令?](https://linux22.com/image/1303288/%E5%A6%82%E4%BD%95%E2%80%9C%E6%92%A4%E6%B6%88%E2%80%9D%20unzip%20%E5%91%BD%E4%BB%A4%EF%BC%9F.png)
我使用“unzip XXX.zip”来解压一个 zip 文件,不幸的是,我犯了一个错误。
现在我想删除“unzip”生成的所有文件和目录。
我该如何撤消它?
答案1
用这个:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
如果您有怀疑,请使用此功能(将提示确认)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
答案2
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
执行该作业是因为-Z
调用zipinfo
实用程序和-1
选项告诉它仅打印文件名
您可以通过man unzip
和man 1 zipinfo
命令找到有关此内容的更多详细信息
答案3
你处境艰难;标准zipinfo(1)
实用程序不提供任何机制来从档案中获取明确的文件名。但,你可以接近:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
如果您确定所有文件中都不包含换行符,则可以删除该-i
选项rm(1)
(这肯定会很繁琐)。
答案4
要在 Nautilus 中执行此操作(无需命令行),您只需导航到您意外提取文件的位置,通过单击“已修改”选项卡对文件进行排序,然后选择并删除所有标有您运行解压缩命令的确切时间的文件。