Зазиповать файлы (которых >9000)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21435
Статус: nulla salus bello
ОС: Debian GNU/Linux

Зазиповать файлы

Сообщение Bizdelnick »

Дано: папка с дофига файлов. Реально дофига.
Надо: засунуть каждый в отдельный zip-архив.
В чём трудность: find использовать нельзя - ругается. egrep -Z | xargs -0 тоже ругается на слишком длинную строку. Заработал такой вариант:
ls | grep .fb2 | xargs -i zip -m "./zipped/{}.zip" "{}"
но споткнулся о первый же файл, в имени которого попалась одинарная кавычка. А там наверняка и другие спецсимволы есть...
Посоветуйте что-нибудь, у меня фантазия иссякла :(
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Зазиповать файлы

Сообщение SLEDopit »

Bizdelnick писал(а):
01.10.2010 18:38
find использовать нельзя - ругается.
как ругается то?

Код: Выделить всё

find . -name "*fb2" -exec zip -m "{}" "./zipped/{}.zip" \;
так примерно писали?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21435
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Зазиповать файлы

Сообщение Bizdelnick »

Блин, я балбес. Вместо -exec зачем-то xargs пытался заюзать. Проблема решена, спасибо!
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали: