Показать сообщение отдельно

Архивы и shell
  #1  
Старый 16.06.2010, 00:59
alpotemkin
Познающий
Регистрация: 07.05.2008
Сообщений: 49
С нами: 9479293

Репутация: 5
По умолчанию Архивы и shell

Доброго времени суток!

Условия:
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
Теперь проблема: скрипт работает нормально, только фишка в том, что он пакует книги с их полными путями, что не есть гуд.
Это еще ладно, но он еще и не воспринимает кириллицу, и запаковав распаковывать не получается - вместо имен папок "???" (сами файлы в кириллице), в итоге выкидывает ошибку.

Помогите разобраться. Если не переписать скрипт, то хотя бы покажите пальцем на ошибку и куда копать.

Заранее спасибо.

Последний раз редактировалось alpotemkin; 16.06.2010 в 01:40..
 
Ответить с цитированием