Finding files with bash and copy to another location and reducing depth of folders

Posted by Kevin F on Stack Overflow See other posts from Stack Overflow or by Kevin F
Published on 2010-04-01T10:37:53Z Indexed on 2010/04/01 11:53 UTC
Read the original article Hit count: 174

Filed under:
|
|
|

I'm trying to recover a mates hard drive, there is no structure what so ever so music and images are everywhere but in named folders sometimes >5 folders deep, I've managed to write a one-liner that finds the files and copies them to a mounted drive but it preserves the file structure completely. What I'm after is a bit of code that searches the drive and copies to another location and copies just the parent folder with the mp3/jpg files within and not the complete path. The other issue I have is the music is /folder/folder/folder/Artist/1.mp3..2.mp3..10.mp3 etc etc so I have to preserve the folder 'Artist' to give him any hope of finding his tracks again.

What I have working currently:

find /media/HP/ -name *.mp3 -fprintf /media/HP/MUSIC/Script.sh 'mkdir -p "/media/HP/MUSIC/%h" \n cp "%h/%f" "/media/HP/MUSIC/%h/"\n'

I then run the script.sh and it does all the copying.

Many Thanks

© Stack Overflow or respective owner

Related posts about bash

Related posts about find