Как заархивировать несколько каталогов в отдельные zip-файлы [дубликат]

Быстрого решения вашей проблемы нет, поскольку входные файлы не отсортированы. Однако вы можете сделать что-то вроде этого:

join -o 0,1.2,1.3,2.3 <(sort A.csv) <(sort B.csv)
1
20.02.2016, 07:31
2 ответа

Похоже, zip сначала хочет zip-файл:

for i in */; do zip "${i%/}.zip" -r "$i" ; done
2
27.01.2020, 23:36

Если вы новичок в терминале, то, вероятно, вы не изучили устрашающий, но полезный мир страниц руководства: D

Если вы знаете man zip в командной строке предполагается, что zip используется следующим образом:

"Normally when an input pattern
              does not match a file the "name not matched" warning  is  issued
"

If zip is not able to read a file, it issues a warning  but  continues.
       See  the -MM option below for more on how zip handles patterns that are
       not matched and files that  are  not  readable.   If  some  files  were
       skipped, a warning is issued at the end of the zip operation noting how
       many files were read and how many skipped."

Я бы начал с замены вашей команды zip на эхо «$ {i% /}» и посмотрел, каков будет ваш результат. Где-то папка вызывает проблему: либо вы не можете получить к ней доступ, либо ее имя неверно. Поскольку вы просто просматриваете папки в одном каталоге, вы можете использовать find. -type d -readable для сравнения с каталогами, к которым вы хотите получить доступ, чтобы увидеть, есть ли папка, к которой у вас фактически нет доступа для чтения.

Ответы по обмену стеком Unix:

https://stackoverflow.com/questions/20529851/zip-command-not-working

«предупреждение о zip-архиве: имя не соответствует» при сжатии каталога

0
27.01.2020, 23:36

Теги

Похожие вопросы