shell - помогите с скриптом

Модератор: Модераторы разделов

rightnow
Сообщения: 7
ОС: Mandriva 2009.1

shell - помогите с скриптом

Сообщение rightnow »

Всем доброго дня суток, необходимо для icecast радио написать скриптик, который проверяет папку на наличие mp3 файлов и если находит запускает lame с перекодировкой в нужный битрейт. Прочитал пособие от Соловьева, но все-равно не совсем понятно два момента в некоторых командах:

Код: Выделить всё

#составляем список mp3
ls |grep mp3 > play;
#получаем количество строк в файле, запускаем цикл от 1 до кол-ва строк
# МОМЕНТ 1 тут надо как-то последнюю строчку файла (cat play | tail -1 ) перевести в переменную ( скажем $a) так нигде и не нашел
#передаем лейму
lame -V0 $a;
# МОМЕНТ 2 удаляем последнюю строку
sed '$d' play > play (почему-то выдает пустой файл)


Извините за ваше потраченное время.
Спасибо сказали:
Аватара пользователя
0ut
Сообщения: 307
Статус: Злыдень
ОС: *nix

Re: shell - помогите с скриптом

Сообщение 0ut »

1. a=`cat play | tail -1`

2. sed '$d' play > play (почему-то выдает пустой файл) - это точно правильная строчка? что в $d ?

3. может так сделать?

ls *.mp3 > list_file
for i in `cat list_file`; do
lame -V0 $i
done
rm list_file

и не надо ничего удалять в файле, потом сам удалиться.
Запросы ошибок к операционной системе игнорироваться не могут.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: shell - помогите с скриптом

Сообщение watashiwa_daredeska »

Код: Выделить всё

find . -name '*.mp3' -print0 | xargs -0 -r -L1 lame -V0


Код: Выделить всё

for a in *.mp3; do
  lame -V0 "$a"
done
Спасибо сказали:
Аватара пользователя
Atragor
Сообщения: 681
Статус: ...

Re: shell - помогите с скриптом

Сообщение Atragor »

watashiwa_daredeska писал(а):
13.08.2009 10:44

Код: Выделить всё

for a in *.mp3; do
   lame -V0 "$a"
 done


Есть подозрение, что это не будет работать, если в именах файлов имеются пробелы.

edit: извиняюсь, наврал...
If you were MEANT to understand it, we wouldn't have called it 'code' © bash.org
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: shell - помогите с скриптом

Сообщение watashiwa_daredeska »

Atragor писал(а):
13.08.2009 13:51
Есть подозрение, что это не будет работать, если в именах файлов имеются пробелы.
Будет.
Спасибо сказали:
rightnow
Сообщения: 7
ОС: Mandriva 2009.1

Re: shell - помогите с скриптом

Сообщение rightnow »

Всем спасибо, сделал через i to *
Спасибо сказали: