ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 5
Отправить сообщение для alpotemkin с помощью ICQ
По умолчанию Архивы и 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..
 
Ответить с цитированием

  #2  
Старый 16.06.2010, 19:42
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

man zip
или попробуй заюзать другой архиватор

вон например почитав хелп к winrar замутил команду
rar.exe a -o+ -ep -r X:\zlo\mailhist.rar *history.txt

a добавить фалы в архив
o+ перезаписывать
ep исключить пути файлов
r рекурсивно по всем дирам

ща читаю ман по зипу
Цитата:
which will include only the files that end in .c in the
current directory and its subdirectories. (Note for
PKZIP users: the equivalent command is

pkzip -rP foo *.c
так что что-то типа рекурсивно все файлы начиная с текущей диры с расширением fb2
zip -r foo . -i *.fb2

RTFM )

Последний раз редактировалось Gar|k; 16.06.2010 в 19:53..
 
Ответить с цитированием

  #3  
Старый 16.06.2010, 22:51
alpotemkin
Познающий
Регистрация: 07.05.2008
Сообщений: 49
Провел на форуме:
90698

Репутация: 5
Отправить сообщение для alpotemkin с помощью ICQ
По умолчанию

Цитата:
Сообщение от Gar|k  
man zip
или попробуй заюзать другой архиватор
Да, я тоже так хотел, но читалка моя из .rar не умеет читать.
P.S. Почему только .zip - именно для читалки... чтобы умела читать книги из архива. Ибо у меня нетбук (читаю только с него) и там места немного.
А незапакованные... для сравнения: 200 книг незапакованных - 300 метров, запакованных - около 100... разница нефиговая.

Цитата:
Сообщение от Gar|k  
так что что-то типа рекурсивно все файлы начиная с текущей диры с расширением fb2
zip -r foo . -i *.fb2

RTFM )
Хм, сейчас попробовал в разных вариантах - не срабатывает... Вообще, я так понимаю, что просто сам архиватор кривой.
Потому что у меня щас версия Ubuntu 10.04... А в 9.10 все работало нормально...
Видно, придется по форумам Ubuntu шарить, чтобы найти решение. Но хотелось бы найти решение, чтобы скрипт игнорировал путь и паковал сам файл без путей от корня.
 
Ответить с цитированием

  #4  
Старый 17.06.2010, 00:39
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме:
991929

Репутация: 395


По умолчанию

Цитата:
Вообще, я так понимаю, что просто сам архиватор кривой
ага и линукс кривой ))) и клава не то набирает )))

хватит какать в форумах. Read The Fucking Manual
http://unix-tut.blogspot.com/2008/08/zip.html xD
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
webshell scripts -) blackybr PHP, PERL, MySQL, JavaScript 20 28.03.2010 02:17



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ