Доброго времени суток! Условия: 1. ОС Linux 2. Есть папка со множеством подкаталогов и файлов. Примерная структура такова: -00/А/Петров Петр/Детектив/kniga1.fb2 -00/А/Петров Петр/Детектив/kniga2.fb2 -00/И/Иванов Иван/kniga25.fb2 ... В общем говоря так: /00/Буква алфавита/ФИО автора/Серия/Книга.fb2 /00/Буква алфавита/ФИО автора/Книга.fb2 3. Есть скрипт для запаковки этих книг в .zip Code: #!/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 Теперь проблема: скрипт работает нормально, только фишка в том, что он пакует книги с их полными путями, что не есть гуд. Это еще ладно, но он еще и не воспринимает кириллицу, и запаковав распаковывать не получается - вместо имен папок "???" (сами файлы в кириллице), в итоге выкидывает ошибку. Помогите разобраться. Если не переписать скрипт, то хотя бы покажите пальцем на ошибку и куда копать. Заранее спасибо.
man zip или попробуй заюзать другой архиватор вон например почитав хелп к winrar замутил команду rar.exe a -o+ -ep -r X:\zlo\mailhist.rar *history.txt a добавить фалы в архив o+ перезаписывать ep исключить пути файлов r рекурсивно по всем дирам ща читаю ман по зипу так что что-то типа рекурсивно все файлы начиная с текущей диры с расширением fb2 zip -r foo . -i *.fb2 RTFM )
Да, я тоже так хотел, но читалка моя из .rar не умеет читать. P.S. Почему только .zip - именно для читалки... чтобы умела читать книги из архива. Ибо у меня нетбук (читаю только с него) и там места немного. А незапакованные... для сравнения: 200 книг незапакованных - 300 метров, запакованных - около 100... разница нефиговая. Хм, сейчас попробовал в разных вариантах - не срабатывает... Вообще, я так понимаю, что просто сам архиватор кривой. Потому что у меня щас версия Ubuntu 10.04... А в 9.10 все работало нормально... Видно, придется по форумам Ubuntu шарить, чтобы найти решение. Но хотелось бы найти решение, чтобы скрипт игнорировал путь и паковал сам файл без путей от корня.
ага и линукс кривой ))) и клава не то набирает ))) хватит какать в форумах. Read The Fucking Manual http://unix-tut.blogspot.com/2008/08/zip.html xD
Типичный ответ тех, кому нечего сказать по делу. Спасибо за ссылку, но это я уже читал, как и man zip. Лучше бы перечитали мой вопрос. Повторяю его для тех, кто в танке: 1. Скрипт работает. Но пакует файлы с полными путями от корня. 2. Мне НЕ НУЖНО паковать папку с файлами. А только файлы, которые находятся в подкаталогах, что скрипт и делает. 3. И вопрос: что дописать, чтобы файлы паковались БЕЗ путей от корня. Надеюсь, что больше не будет таких "умных" комментариев. Если нечего ответить по делу, то и не стоит "какать", как ты изволил выразиться.