I'm trying to write a bash script to distribute some music files from
one directory to various subdirectories based a correlation between the
file and directory names. The files are mp3s and almost all contain
spaces in the filenames. The filenames are of the form:
artist - title.mp3
The directories are named to correspond to the artist names. For each
directory found the script should move all mp3 files that start with the
same text as the directory name into the corresponding directory. For
instance, a file named 'Bob Dylan - Subterranean Homesick Blues.mp3'
should get moved into the './Bob Dylan' directory. I tried the
following but everything winds up in the root directory. Any help is
appreciated.
# Get the list of directories
find . -maxdepth 1 -type d | sed -e 's/^\.\/*//' | while read dirname
do
# Move any matching files into the directory
find . -iname "${dirname}*.mp3" -type f -maxdepth 1 -exec mv "{}"
"${dirname}/" \;
done
Thanks.
Karl Cunningham
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list