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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Скрипт bash. Копирование музыки с Ipod [РЕШЕНО]  (Прочитано 859 раз)

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

Оффлайн CitiЯen

  • Автор темы
  • Участник
  • *
  • Сообщений: 138
  • Ubuntu Natty + OB
    • Просмотр профиля
Здравствуйте. Написал вот такую штуку
#!/bin/bash

PWD=$(pwd);
for i in $(find  $PWD -name '*mp3');
do
mv $(find  $PWD -name '*mp3') -t $PWD;
done;
Свою цель (вытащить файлы из папок в текущем каталоге) он делает, но потом его циклит. Помогите подправить)

Пользователь решил продолжить мысль 15 Сентября 2010, 15:41:39:
И если не трудно как пустые папки удалить во время его работы? Буду очень благодарен)


-- Когда уже народ научиться ставитьтэги code?
-- Владимир Николаевич
« Последнее редактирование: 15 Сентября 2010, 19:23:52 от CitiЯen »

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Помогите пожалуйста со скриптом
« Ответ #1 : 15 Сентября 2010, 15:55:22 »
Ты редкий извращенец :D

Я бы сделал как-то так:
#!/bin/bash

cd /path/Music
LST=`find  . -name \*.mp3`
IFS=$'\n'

for i in $LST
do
mv "$i" -t /path
done
Ubuntu, Gentoo, RHEL, AIX

Оффлайн CitiЯen

  • Автор темы
  • Участник
  • *
  • Сообщений: 138
  • Ubuntu Natty + OB
    • Просмотр профиля
Re: Помогите пожалуйста со скриптом
« Ответ #2 : 15 Сентября 2010, 16:11:08 »
Спасиб) Работает!  :)

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Помогите пожалуйста со скриптом
« Ответ #3 : 15 Сентября 2010, 16:15:44 »
Спасиб) Работает!  :)

Пожалуйста :)
А что там с пустыми каталогами? Разобрался?
Если нет - опиши где они получаются, может ли в них еще что-то лежать и в том же духе.
Ubuntu, Gentoo, RHEL, AIX

Оффлайн CitiЯen

  • Автор темы
  • Участник
  • *
  • Сообщений: 138
  • Ubuntu Natty + OB
    • Просмотр профиля
Re: Помогите пожалуйста со скриптом
« Ответ #4 : 15 Сентября 2010, 16:39:56 »
Пустые остаются, к сожалению. Может попробывать вариант с еще одним циклом и удалением всех каталогов в папке куда извлеклись файлы? Скрипты никогда не писал, но может есть более удобоваримое решение?

Оффлайн dieselist

  • Активист
  • *
  • Сообщений: 525
    • Просмотр профиля
    • diesel.pp.ua
Re: Помогите пожалуйста со скриптом
« Ответ #5 : 15 Сентября 2010, 16:45:36 »
find /path -type d -empty -exec rm -r {} \;
удалит все пустые каталоги в /path
Можешь добавить это в скрипт после цикла (в цикл пихать не надо :D )
Ubuntu, Gentoo, RHEL, AIX

Оффлайн CitiЯen

  • Автор темы
  • Участник
  • *
  • Сообщений: 138
  • Ubuntu Natty + OB
    • Просмотр профиля
Re: Помогите пожалуйста со скриптом
« Ответ #6 : 15 Сентября 2010, 18:53:54 »
#!/bin/bash

cd /media/disk/Music/

PWD="$(pwd)"
LST=`find  . -name \*.mp3`
IFS=$'\n'

for i in $LST
do
mv "$i" -t "$PWD"
done

find "$PWD" -type d -empty -exec rm -r {} \;

eyeD3 --to-v2.4 --rename=%A-%t "$(pwd)";

for NAME in *.mp3
do
ARTIST=${NAME%*-*};
[ -e "$ARTIST" ] || mkdir "$ARTIST";
mv -t "$ARTIST" "$NAME"
done


Вот такая штука на выходе) Спасибо dieselist)))

 

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