Сравните 2 имени файла (включая содержимое, если возможно) из 2 разных путей в zip-файле - PullRequest
0 голосов
/ 24 мая 2018

Есть ли способ сравнить имена файлов (включая, если возможно, содержимое) из 2 разных путей в zip-файле с помощью сценария оболочки?

Файлы, которые я хочу сравнить:

  • 1-й zip-файл (A): включите другой zip-файл (A.1), и файл, с которым мне нужно сравнить, является файлом внутри zip-файла (A.1).

  • 2-й почтовый файл (B): включает в себя папку, файл внутри папки - это файл, который мне нужно сравнить с файлом в ZIP-файле (A.1)

Есть ли какой-либо сценарий, код или команда, которую я могу использовать для сравнения файла внутри этих zip-файлов?

1 Ответ

0 голосов
/ 24 мая 2018

Это тип использования 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
...