I’ve been using this utility since I wrote it 6 years ago, and this afternoon, I cleaned up the code base in order to release it. It’s a simple command-line music file organizer. It takes a list of files or directories as program arguments, inspects the tags of all the enclosed music files, and then determines which directories need to be created and what the music file name should be. Plenty of GUI tools do this already, many of which are very customizable, but I have yet to see a command-line utility as simple as this that gets the job done.
$ organizemusic ~/Downloads/some-silly-m4a-directory
And presto, all the music is moved into the right place.
zx2c4@Dell ~ $ git clone http://git.zx2c4.com/music-file-organizer Cloning into 'music-file-organizer'... zx2c4@Dell ~ $ cd music-file-organizer/ zx2c4@Dell ~/music-file-organizer $ make g++ -O3 -pipe -fomit-frame-pointer -march=native -I/usr/include/taglib -ltag -licui18n -licuuc -licudata readmusictags.cpp AudioFile.cpp AudioFile.h -o readmusictags g++ -O3 -pipe -fomit-frame-pointer -march=native -I/usr/include/taglib -ltag -licui18n -licuuc -licudata organizemusic.cpp AudioFile.cpp AudioFile.h -o organizemusic