I feel that stuffing all the pieces down right into a flat listing goes to trigger even additional points, to not point out the madness will probably be of iterating by way of tracks. Certainly your stereo has an idea of skipping a observe, and skipping out of the present folder while you’re carried out with it? Would not randomization additionally render selecting the tune you wish to discover primarily unattainable?
With out data of your stereo, deciding on a center floor of just one sub-directory, perhaps two, might be (hopefully) a adequate answer.
With one listing you’ll in all probability need folders which can be: Artist Identify - Album Identify
with observe names of 1-01 - Title…
for multi disc albums and 01 - Title
for these with out. Alternatively you possibly can simply use the multi disc album model naming for all the pieces offered that “no disc quantity” ends in 1. (Or 0, a number one zero is okay, however a number one -
in all probability is not someplace.)
That is potential however horrendously sophisticated to do in a script alone. There’s certainly software program on the market that will help you handle this, I do not know what that software program is. It’s a must to (1) create the sub-directories, (2) copy the recordsdata to their new applicable location within the newly created sub-directories, and (3) rename them with the disc label in order that you don’t intermix Disc 1 and Disc 2 and Disc n tracks which can be in any other case not disambiguated.
I can get shut, and it really works for me as a result of I already title my recordsdata with Discnr-Tracknr - Title
codecs when a number of discs are current, regardless of their additionally being organized into sub-folders:
discover . -type f |awk 'BEGIN {FS="/"}{ printf "mkdir "/Flat/%s - %s"; cp "%s" "/Flat/%s - %s/"", $2, $3, $0, $2, $3; print ""}'
mkdir "/Flat/DDR - DDRMAX"; cp "./DDR/DDRMAX/Disc 1/1-01 Lovin' You (Rob Searle membership combine).m4a" "/Flat/DDR - DDRMAX/"
mkdir "/Flat/DDR - DDRMAX"; cp "./DDR/DDRMAX/Disc 1/1-02 Someplace Over the Rainbow.m4a" "/Flat/DDR - DDRMAX/"
mkdir "/Flat/DDR - DDRMAX"; cp "./DDR/DDRMAX/Disc 2/2-01 Choose.m4a" "/Flat/DDR - DDRMAX/"
mkdir "/Flat/DDR - DDRMAX"; cp "./DDR/DDRMAX/Disc 2/2-02 WWW.Blonde Lady (Momo combine).m4a" "/Flat/DDR - DDRMAX/"
mkdir "/Flat/Metallica - Load"; cp "./Metallica/Load/01 Ain't My Bitch.m4a" "/Flat/Metallica - Load/"
mkdir "/Flat/Metallica - Load"; cp "./Metallica/Load/02 2 X 4.m4a" "/Flat/Metallica - Load/"
Notice that I took some liberties with the output like re-ordering my output to get it listed extra properly readable to show its perform.
You’ll then add | sh
onto the tip of this command to ensure that it to do the work operating the instructions listed right here. This output is simply printing string to confirm that the instructions you need it to execute would act as the best way you need it to.
This answer does imply you may get a ship load of “listing already exists” errors, however these are solely a nuisance and don’t cease the method.
Doable, sure. Sanely? Ehhhhhhhhhhhhhhhhhhhhhh. Largely is dependent upon your supply file naming being rigorously actual and effectively organized.