X-Git-Url: https://git.armaanb.net/?p=bin.git;a=blobdiff_plain;f=fmt-music;h=e1a3cfb6854c6bc6afa595c73ecaeac5da3d107d;hp=e578a0330e948050985899b35268893b369a9cc6;hb=HEAD;hpb=7401b012419cf0701d48512ebea89a40775d9342 diff --git a/fmt-music b/fmt-music index e578a03..e1a3cfb 100755 --- a/fmt-music +++ b/fmt-music @@ -1,21 +1,22 @@ #!/usr/bin/sh -e +# Turns a nested hierarchy of music files into a flat one find "${1:-.}" -regex '.*\.\(mp3\|ogg\|wav\|aac\|wma\|flac\|alac\)' -type f | \ - while read line; do - newline=$(echo $line | sed -E -e 's|[[:space:]]?-[[:space:]]?|_|g' \ - -e 's/ */ /g') + while read line; do + newline=$(echo $line | sed -E -e 's|[[:space:]]?-[[:space:]]?|_|g' \ + -e 's/ */ /g') - o=$(echo -n $(dirname "$newline") | sed -e 's|\./||g' -e 's|/| - |g') + o=$(echo -n $(dirname "$newline") | sed -e 's|\./||g' -e 's|/| - |g') - first=$(echo -n $(basename "$newline") | cut -d " " -f 1) - if $(echo $first | grep -Eq '^[0-9]+$'); then - o="$o $(echo -n "- $first -")" - num=2 - else - o="$o -" - num=1 - fi + first=$(echo -n $(basename "$newline") | cut -d " " -f 1) + if $(echo $first | grep -Eq '^[0-9]+$'); then + o="$o $(echo -n "- $first -")" + num=2 + else + o="$o -" + num=1 + fi - o="$o $(echo -n $(basename "$newline") | cut -d " " -f ${num}-)" - cp -v "$line" "${2:-.}/$o" - done + o="$o $(echo -n $(basename "$newline") | cut -d " " -f ${num}-)" + cp -v "$line" "${2:-.}/$o" + done