Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: bash, имена файлов с пробелами  (Прочитано 2182 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Alexey931

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
  • Arch Plasma
    • Просмотр профиля
bash, имена файлов с пробелами
« : 14 Октября 2011, 17:14:08 »
Доброго времени суток всем!

Вот, есть шпаргалка по конвертированию m4b в mp3: http://intuitivenipple.net/10/converting-mp3s-to-m4b-audiobooks-and-m4b-to-mp3

Из нее, конвертировать все файлы в каталоге:
for m4b in $(ls -1 *.m4b); do ffmpeg -i $m4b -acodec libmp3lame -ar 22050 ${m4b}.mp3; doneЭта штука не делает файлов с пробелами в именах. Что надо поменять (bash ради этого учить как-то долго...)?

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: bash, имена файлов с пробелами
« Ответ #1 : 14 Октября 2011, 18:57:08 »
Попробуй что-то типа
for m4b in $(ls -1 *.m4b); do ffmpeg -i "$m4b" -acodec libmp3lame -ar 22050 "${m4b}.mp3"; done

Оффлайн ende_neu

  • Старожил
  • *
  • Сообщений: 2473
    • Просмотр профиля
Re: bash, имена файлов с пробелами
« Ответ #2 : 14 Октября 2011, 19:56:10 »
Нечего ls юзать, pаспространённая ошибка.
Код: (bash) [Выделить]
for m4b in *.m4bhttp://mywiki.wooledge.org/BashPitfalls#for_i_in_.24.28ls_.2A.mp3.29
ну и экранирование в выхлопe, да.

Оффлайн Alexey931

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
  • Arch Plasma
    • Просмотр профиля
Re: bash, имена файлов с пробелами
« Ответ #3 : 14 Октября 2011, 21:13:02 »
Спасибо! Вот такое работает:
$ for m4b in *.m4b; do ffmpeg -i "$m4b" -acodec libmp3lame -ar 22050 "${m4b}.mp3"; doneЕдинственно, хотелось бы преобразования имя.m4b -> имя.mp3 (пока имя.m4b -> имя.m4b.mp3)

Оффлайн ende_neu

  • Старожил
  • *
  • Сообщений: 2473
    • Просмотр профиля
Re: bash, имена файлов с пробелами
« Ответ #4 : 14 Октября 2011, 21:23:06 »
Ну типа так
Код: (bash) [Выделить]
"${m4b%.*}.mp3"

Оффлайн Alexey931

  • Автор темы
  • Любитель
  • *
  • Сообщений: 51
  • Arch Plasma
    • Просмотр профиля
Re: bash, имена файлов с пробелами
« Ответ #5 : 14 Октября 2011, 21:44:58 »
Большое спасибо! Теперь совсем хорошо.

 

Страница сгенерирована за 0.031 секунд. Запросов: 25.