#!/bin/bash
work_dir="/var/spool/asterisk/monitor"
dest_dir=$work_dir/$(date +%Y-%m-%d)
[ -d "$dest_dir" ] || mkdir -p "$dest_dir"
for i in "$work_dir"/*.wav; do
o=$dest_dir/$(basename "$i" .wav).mp3
$work_dir/mlame -f -o "-b 16 -m m -q 9 --resample 8" "$i" "$o" && /bin/rm -f "$i"
done
Ошибка в команде
У меня в папке /var/spool/asterisk/monitor/ есть куча .wav файлов (Система Астериск генерирует)
Я хотел написать скрипт чтоб превращать .wav файлы в .mp3 файлы (так как они занимают меньше место на диске) и перекинуть в отдельную папку создаваемую этим же скриптом (файл можно назвать сегоднячней датой)
Допустим если я сегодня запущу скрипт то .wav файлы должны превратиться в .mp3 и перекинуться в папку /var/spool/asterisk/monitor/2008-10-27/ (.wav файлы потом сразу же можно удалять)
В гугле ничего интересного по теме не нашел по этому решил обратиться к вам.
Откуда то откапал баш скрипт (т.к. сам не владею знаниями написания баш скриптов) но есть ошибки, уважаемые линуксоиды пожалуйста помогите чем сможете.
Вот мой карявый скрипт
Код:
#Конвертируем .wav файлы в .mp3, перекидываем в новую папку если папка с названием сегоднячней даты существует просто туда копируем
work_dir="/var/spool/asterisk/monitor"
for i in `ls $work_dir/*.wav`; do
cd $work_dir
$work_dir/mlame -f -o "-b 16 -m m -q 9 --resample 8" $i
date=`ls -l $i | awk '{print $6}'`
mp3=`echo $i | sed 's/.wav/.mp3/g'`
#удаляем уже ненужные файлы .wav
work_dir=/var/spool/asterisk/monitor
cd $work_dir
rm $work_dir/*.wav
work_dir="/var/spool/asterisk/monitor"
for i in `ls $work_dir/*.wav`; do
cd $work_dir
$work_dir/mlame -f -o "-b 16 -m m -q 9 --resample 8" $i
date=`ls -l $i | awk '{print $6}'`
mp3=`echo $i | sed 's/.wav/.mp3/g'`
#удаляем уже ненужные файлы .wav
work_dir=/var/spool/asterisk/monitor
cd $work_dir
rm $work_dir/*.wav
ОС: Линукс Дебиан
Во вложениях скриншот ошибки и версия Линукс Дебиана.
:confused: