从zip文件

时间:2018-05-24 03:38:45

标签: bash shell compare zip diff

有没有办法比较使用shell脚本在zip文件中的2个不同路径比较文件名(如果可能包括内容)?

我要比较的文件:

  • 第一个zip文件(A):包含另一个zip文件(A.1),我需要比较的文件是zip文件(A.1)中的文件。

  • 第二个zip文件(B):包含一个文件夹,文件夹中的文件是我需要与zip文件中的文件进行比较的文件(A.1)

是否有任何脚本或代码或命令可用于比较这些zip文件中的文件?

1 个答案:

答案 0 :(得分:0)

这是用于diffoscope的用例:

$ echo 1 > foo
$ echo 2 > bar
$ echo 3 > baz
$ zip 1.zip foo bar baz
  adding: foo (stored 0%)
  adding: bar (stored 0%)
  adding: baz (stored 0%)
$ rm baz
$ echo 4 > foo
$ zip 2.zip foo bar
  adding: foo (stored 0%)
  adding: bar (stored 0%)
$ diffoscope --no-progress 1.zip 2.zip 
--- 1.zip
+++ 2.zip
├── zipinfo /dev/stdin
│ @@ -1,5 +1,4 @@
│ -Zip file size: 430 bytes, number of entries: 3
│ --rw-r--r--  3.0 unx        2 tx stor 18-May-24 03:46 foo
│ +Zip file size: 294 bytes, number of entries: 2
│ +-rw-r--r--  3.0 unx        2 tx stor 18-May-24 03:47 foo
│  -rw-r--r--  3.0 unx        2 tx stor 18-May-24 03:46 bar
│ --rw-r--r--  3.0 unx        2 tx stor 18-May-24 03:46 baz
│ -3 files, 6 bytes uncompressed, 6 bytes compressed:  0.0%
│ +2 files, 4 bytes uncompressed, 4 bytes compressed:  0.0%
├── foo
│ @@ -1 +1 @@
│ -1
│ +4