将ZIP文件与dir与shell命令进行比较

时间:2014-02-09 07:46:09

标签: linux shell zip

我从infozip.org压缩了很多带zip的文件。 如何确保zip文件包含原始文件中的所有文件。或者是否有GUI工具。

2 个答案:

答案 0 :(得分:1)

您可以安装名为unzip的命令行工具,然后运行

$unzip -l yourzipfile.zip

将列出yourzipfile.zip中包含的文件。

======

要自动验证文件,您可以按照以下步骤操作。

如果压缩到yourzipfile.zip的文件位于dir1,您可以先将yourzipfile.zip解压缩到dir2,然后您可以比较dir1和{{}中的文件1}}通过运行

dir2

答案 1 :(得分:0)

我自己尝试过这样做,您可以将一些事情串在一起来完成此操作,而无需解压缩到目录

diff <(unzip -l foo.zip | cut -d':' -f2 | cut -d' ' -f4-100 | sed 's/\/$//' | sort) <(find somedir/ | sort)

基本分类是:

使用 diff 比较 2 个命令的输出流

diff <(command1) <(command2)

使用 unzip -l,并处理输出。我使用了 2 个剪切来获取文件名,删除目录上的尾随 /,最后排序:

unzip -l foo.zip | cut -d':' -f2 | cut -d' ' -f4-100 | sed 's/\/$//' | sort

对于目录列表,一个简单的查找和排序

find somedir/ | sort