Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
Toxa
- рядовой
- Сообщения: 49
- Зарегистрирован: 2008-04-07 17:32:01
Непрочитанное сообщение
Toxa » 2008-11-20 18:54:04
Здравствуйте!
такая проблема:кодировалось много видео из mov в flv с помощью скрипта.но из-за некоторых причин кодирование остановилось.после кодирования должны были остаться и mov-файлы и flv с такими же именами в тех же дирах!теперь надо продолжить это дело.но теперь надо проверять есть ли flv-файл!если нет,то кодируем,если есть-идем дальше!были внесены изменения в скрипте,но он все равно кодирует все подряд=( Помогите пожалста!!!
вот скриптик
Код: Выделить всё
#!/bin/bash
dir=/path/to/videos
find $dir -name "*.mov" | grep -v '/!!!!/' > $dir/dir.tmp
array=(`cat $dir/dir.tmp`)
for index in "${array[@]}"
do
newfile=${index%.mov}.flv
if [ -f $newfile]
then
continue
fi
mencoder $index -ofps 25 -o $newfile -of lavf -oac mp3lame -lameopts abr:br=192 -srate 44100 -ovc lavc -lavcopts vcodec=flv:aspect=16/9:keyint=50:vbitrate=5000:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf pp=lb
done
rm $dir/dir.tmp
где ошибка?!
Toxa
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
Yam
- сержант
- Сообщения: 226
- Зарегистрирован: 2008-10-11 19:19:24
- Откуда: 2:5093/41
Непрочитанное сообщение
Yam » 2008-11-20 19:12:40
Код: Выделить всё
#!/bin/bash
dir=/path/to/videos
find $dir -name "*.mov" | grep -v '/!!!!/' > $dir/dir.tmp
array=(`cat $dir/dir.tmp`)
for index in "${array[@]}"
do
newfile=${index%.mov}.flv
if [ ! -e "$newfile" ]
then
mencoder $index -ofps 25 -o $newfile -of lavf -oac mp3lame -lameopts abr:br=192 -srate 44100 -ovc lavc -lavcopts vcodec=flv:aspect=16/9:keyint=50:vbitrate=5000:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf pp=lb
fi
done
rm $dir/dir.tmp
Yam
-
Toxa
- рядовой
- Сообщения: 49
- Зарегистрирован: 2008-04-07 17:32:01
Непрочитанное сообщение
Toxa » 2008-11-20 19:25:00
спасибо!заработало!
токо здесь
кавычки лишние!
Toxa
-
zg
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Непрочитанное сообщение
zg » 2008-11-20 21:43:53
Toxa писал(а):кавычки лишние!
гм.. почему? это вроде как шелл
Toxa писал(а):#!/bin/bash
а чего баш в системном бине делает? линукс?
zg
-
Гость
- проходил мимо
Непрочитанное сообщение
Гость » 2008-11-24 0:09:07
Toxa писал(а):
кавычки лишние!
просто заметка: имя файла может содержать пробелы и спецсимволы
Код: Выделить всё
$ foo="I like money, a lot of $$$!"
$ [ ! -e $foo ]
[: I: unexpected operator
Гость
-
Toxa
- рядовой
- Сообщения: 49
- Зарегистрирован: 2008-04-07 17:32:01
Непрочитанное сообщение
Toxa » 2008-11-24 15:40:58
насчет #/bin/bash-это в ubuntu
а насчет кавычек-с кавычками у меня не работало-ошибка вылезала(не помню уж какая),а убрал я их и все заработало!
Toxa