Условия: 1. ОС Linux 2. Есть папка со множеством подкаталогов и файлов. Примерная структура такова:
-00/А/Петров Петр/Детектив/kniga1.fb2
-00/А/Петров Петр/Детектив/kniga2.fb2
-00/И/Иванов Иван/kniga25.fb2
...
В общем говоря так:
/00/Буква алфавита/ФИО автора/Серия/Книга.fb2
/00/Буква алфавита/ФИО автора/Книга.fb2
3. Есть скрипт для запаковки этих книг в .zip
Код:
#!/bin/sh
#========= Путь меняешь на свой например: pth=/var/www
pth=/00/
#========= Формат ставишь свой
format=.fb2
mass=`find $pth -name *$format`
for i in $mass;do
mass2=`echo $i | sed 's/'$format'/.zip/g'`
for m in $mass2;do
echo $m $i | while read param1 param2; do
zIp=$param1
nm=$param2
zip -9 -m $zIp $nm
done
done
done
Теперь проблема: скрипт работает нормально, только фишка в том, что он пакует книги с их полными путями, что не есть гуд.
Это еще ладно, но он еще и не воспринимает кириллицу, и запаковав распаковывать не получается - вместо имен папок "???" (сами файлы в кириллице), в итоге выкидывает ошибку.
Помогите разобраться. Если не переписать скрипт, то хотя бы покажите пальцем на ошибку и куда копать.
Да, я тоже так хотел, но читалка моя из .rar не умеет читать.
P.S. Почему только .zip - именно для читалки... чтобы умела читать книги из архива. Ибо у меня нетбук (читаю только с него) и там места немного.
А незапакованные... для сравнения: 200 книг незапакованных - 300 метров, запакованных - около 100... разница нефиговая.
Цитата:
Сообщение от Gar|k
так что что-то типа рекурсивно все файлы начиная с текущей диры с расширением fb2
zip -r foo . -i *.fb2
RTFM )
Хм, сейчас попробовал в разных вариантах - не срабатывает... Вообще, я так понимаю, что просто сам архиватор кривой.
Потому что у меня щас версия Ubuntu 10.04... А в 9.10 все работало нормально...
Видно, придется по форумам Ubuntu шарить, чтобы найти решение. Но хотелось бы найти решение, чтобы скрипт игнорировал путь и паковал сам файл без путей от корня.