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

7

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

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

    
задан Aerus 05.01.2011 в 12:44
источник

5 ответов

9

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

find . -name '*.mp3' -exec mv {} TARGET_DIR \;
    
ответ дан chris 05.01.2011 в 12:54
источник
2

Попробуйте следующее:

 cd ../Music

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

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

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

    
ответ дан aneeshep 05.01.2011 в 13:08
источник
0

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

mv ../Music/*/*.mp3 [insert target dest here]
    
ответ дан argarevarg 20.12.2014 в 23:54
источник
0

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

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

Затем

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

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

    
ответ дан YQ002lc2 21.12.2014 в 00:38
источник
0
(cd ~/Music ; tar cf - ) | (cd /path/to/other/directory; tar xf -) 
    
ответ дан user8404 05.01.2011 в 19:38
источник

Ознакомьтесь с другими вопросами по меткам