Переместить файлы в subdir в другой каталог

У меня есть каталог: ../Music с большим количеством музыкальных файлов в множеством подкаталогов.

Как мне переместить все файлы в подкаталогах в другой каталог?
Таким образом, я только хочу переместить файлы, я не хочу сохранить структуру подкаталога.

7
задан 29 February 2012 в 21:01

5 ответов

Предполагая, что в текущем каталоге есть подпапки, замените TARGET_DIR следующим оператором, который его использует:

find . -name '*.mp3' -exec mv {} TARGET_DIR \;
0
ответ дан 29 February 2012 в 21:01

Попробуйте:

 cd ../Music

 for i in `ls -Q`; do  mv $i/* /Path/To/Some/Other/Directory;   done

Я бы предложил использовать cp вместо mv, чтобы проверить, работает ли он нормально или нет. и если он работает нормально, просто удалите каталог ..Music

Редактировать: добавлено -Q (и нужно добавить это объяснение, чтобы выйти за пределы шести символов)

0
ответ дан 29 February 2012 в 21:01
(cd ~/Music ; tar cf - ) | (cd /path/to/other/directory; tar xf -) 
0
ответ дан 29 February 2012 в 21:01

Вы также можете использовать Rhythmbox, Banshee или аналогичное программное обеспечение. Они могут сканировать ваши музыкальные каталоги.

Вы можете выбрать сохранение каталога или (в вашем случае) программное обеспечение может переместить файлы в каталог rhythmbox / banshee, который устранит иерархию, как вы хотели.

Затем

cp /target/directory/* /desination/directory/ -r

Затем удалите оригинал, если он был успешным.

0
ответ дан 29 February 2012 в 21:01

Первый ответ правильный, но более простой способ сделать это, если у вас есть только один слой подкаталогов, это:

mv ../Music/*/*.mp3 [insert target dest here]
0
ответ дан 29 February 2012 в 21:01

Другие вопросы по тегам:

Похожие вопросы: