LINUX.ORG.RU

find -maxdepth ...

xargs -0 -i zip {}.zip {}

что-то вроде этого

xio
()
Ответ на: комментарий от Laz

>find . -maxdepth 1 ! -name . -type d -print0 | xargs -0 -I{} zip -r "{}".zip "{}"

Замечу, что у xargs аргумент -I{} - это большая буква i, а не маленькая L

Laz ★★★★★
()
Ответ на: комментарий от Laz

> find . -maxdepth 1 ! -name . -type d -print0 | xargs -0 -I{} zip -r "{}".zip "{}"

    --replace[=replace-str], -i[replace-str]
        This option is a synonym for -Ireplace-str if replace-str is specified,
        and for -I{} otherwise.  This option is deprecated; use -I instead.

Кавычки же не нужны afaiu.

xio
()
Ответ на: комментарий от xio

>Кавычки же не нужны afaiu.

Кавычки нужны для решения проблемы с пробелами в именах директорий.

Laz ★★★★★
()
Ответ на: комментарий от xio

Действительно, проверил - кавычки не обязательны. Просто подумалось, что для каталога `dir with space' xargs будет вызывать команду `zip -r dir with space.zip dir with space' , что совсем не верно. Ещё раз прочитав ман и осознав значения -print0 у find и -0 у xargs, признаю, что был неправ (хотя вариант с кавычками тоже правильный) :)

Laz ★★★★★
()
Ответ на: комментарий от AnDoR

Согласно условию, нужно "уложить каждую директорию в отдельный архив".

В вашей блаблабле создаются архивы всех файлов (не директорий, пропущен ключ '-r' к zip) в текущей директории, чьи имена не начинающихя на ".".

xio
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.