Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 07.07.2010, 15:22   #1
dmjROV
Senior Member
 
Аватар для dmjROV
 
Регистрация: 22.06.2008
Сообщений: 562
Бабло: $107805
По умолчанию SH срипт, тоже нужен хелп!

Ось - линукс. VPS.
Вообщем нужно, что бы я указал скрипту список директорий (например в тхт файлике они будут), а скрипт по очереди заходил в эти диры , брал zip архив который там лежит (архивы называются по разному, если кто генерил RB знает как он их называет), делал команду unzip etotarchive.zip и потом rm etotarchive.zip и так с каждой директорией.
Еще нюанс, когда делается unzip там спрашивается - типа заменить index.html на этот который в архиве, надо сказать y (yes). Этот вопрос выскакивает именно с архивами который сделал RB, если самому архивировать такого вроде нет, но у меня нет такого скрипта.
Как вы поняли, это я так хочу заливать доры, понимаю что геморно, но я не прогер и не сисадмин, поэтому мне ничего не лезет в голову как тупо автоматизировать то, что я делаю руками)
dmjROV вне форума  
Старый 07.07.2010, 15:47   #2
seeker
Ебланнед
 
Регистрация: 07.04.2010
Сообщений: 1,577
Бабло: $0
По умолчанию

поток проф.дорвейщиков не иссякает
пишите сразу в личку
пишу на перле быстро, качественно, не дорого
работает на любом *nix
seeker вне форума  
Старый 07.07.2010, 17:03   #3
dmjROV
Senior Member
 
Аватар для dmjROV
 
Регистрация: 22.06.2008
Сообщений: 562
Бабло: $107805
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от seeker Посмотреть сообщение
поток проф.дорвейщиков не иссякает
пишите сразу в личку
пишу на перле быстро, качественно, не дорого
работает на любом *nix
ну не все же такие крутые как ты.
dmjROV вне форума  
Старый 07.07.2010, 17:32   #4
buddy
Member
 
Регистрация: 14.04.2007
Сообщений: 70
Бабло: $9415
По умолчанию

Можно так
find . |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'

запускаешь в нужной директории, смотришь или те команды что надо
если да, то меняешь print cmd на system(cmd) и запускаешь еще раз
__________________
DNS Report
buddy вне форума  
Старый 07.07.2010, 17:51   #5
dmjROV
Senior Member
 
Аватар для dmjROV
 
Регистрация: 22.06.2008
Сообщений: 562
Бабло: $107805
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от buddy Посмотреть сообщение
Можно так
find . |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'

запускаешь в нужной директории, смотришь или те команды что надо
если да, то меняешь print cmd на system(cmd) и запускаешь еще раз
В нужной всмысле где архив лежит? И мне заместо dirname "$1" указать путь до диры, а заместо basename "$1" имя архива? Просто имя архива всгеда разное, вариант с указанием имени архива не очень подходит, только пути к дирам где лежат архивы.
dmjROV вне форума  
Старый 07.07.2010, 19:59   #6
buddy
Member
 
Регистрация: 14.04.2007
Сообщений: 70
Бабло: $9415
По умолчанию

под нужной имелось в виду корневая для поддиректорий
например если есть такая структура
/home/user/web/1/1.zip
/home/user/web/2/2.zip

надо распаковать все зип файы которые находятся в папке /home/user/web и всех подпапках тогда
cd /home/user/web
find . |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'

если есть файлик с путями к папкам тогда так
find `cat путь_к_файлу_с путями` |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'
__________________
DNS Report
buddy вне форума  
Старый 07.07.2010, 20:25   #7
dmjROV
Senior Member
 
Аватар для dmjROV
 
Регистрация: 22.06.2008
Сообщений: 562
Бабло: $107805
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от buddy Посмотреть сообщение
под нужной имелось в виду корневая для поддиректорий
например если есть такая структура
/home/user/web/1/1.zip
/home/user/web/2/2.zip

надо распаковать все зип файы которые находятся в папке /home/user/web и всех подпапках тогда
cd /home/user/web
find . |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'

если есть файлик с путями к папкам тогда так
find `cat путь_к_файлу_с путями` |grep zip$ | awk '{cmd="cd `dirname "$1"`; unzip -o `basename "$1"`; rm `basename "$1"`" ;print cmd}'
Большое спасибо, помогло
dmjROV вне форума