Скрипт (Даже не знаю, вообщем имя файла)

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

Ответить
Аватара пользователя
badblack2z
Сообщения: 95
ОС: MOPSLinux 4.0

Скрипт

Сообщение badblack2z »

Вообщем подредактировал скрипт для lame

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

#!/bin/sh

 echo "Convert MP3 files"
 for f in *.mp3
 do
     f_new="${f%.mp3}_new.mp3"
# 1) запускаем lame чтобы перекодировал файл
     lame --abr 155 -b 96 -B 192 -m j "$f" "$f_new"
# 2) создаем папку
     mkdir "/home/de.neyron/mp3/$f"
# 3) удаляем старый mp3
     rm -f "$f"
# 4) перемещаем новый в *
     mv "$f_new" "/home/de.neyron/mp3/$f/$f"
 done
 echo "Done!"

Нужно, что бы треки кидались в папки по исполнителям, но здесь как видно кидаются по имени файла, т.к. у меня у меня имя файла вида:
00_Artist - Name, надо, что бы остался только Artist, как это реализовать?
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10
Контактная информация:

Re: Скрипт

Сообщение BlackStar »

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

DIRNAME=`echo $f | sed -e "s/^[0-9][0-9]_//" | cut -d" " -f 1`
LightLang Team
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian
Контактная информация:

Re: Скрипт

Сообщение diesel »

badblack2z писал(а):
31.05.2007 22:57
Нужно, что бы треки кидались в папки по исполнителям, но здесь как видно кидаются по имени файла, т.к. у меня у меня имя файла вида:
00_Artist - Name, надо, что бы остался только Artist, как это реализовать?

а если Artist это два слова - то они чем разделны?
Спасибо сказали:
pktfag
Сообщения: 142
ОС: Arch Linux

Re: Скрипт

Сообщение pktfag »

Ну или так:

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

DIRNAME=`echo $f|sed -e 's/^[0-9][0-9]_\(.*\)-.*/\1/'`

В этом случае без разницы, чем разделены два слова в словосочетании Artist.
Спасибо сказали:
Ответить