From: Armaan Bhojwani Date: Sun, 21 Mar 2021 03:22:31 +0000 (-0400) Subject: fmt-music: add script X-Git-Tag: v0.0.1~16 X-Git-Url: https://git.armaanb.net/?p=bin.git;a=commitdiff_plain;h=7401b012419cf0701d48512ebea89a40775d9342 fmt-music: add script Flattens a directory of music. --- diff --git a/fmt-music b/fmt-music new file mode 100755 index 0000000..e578a03 --- /dev/null +++ b/fmt-music @@ -0,0 +1,21 @@ +#!/usr/bin/sh -e + +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') + + 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 + + o="$o $(echo -n $(basename "$newline") | cut -d " " -f ${num}-)" + cp -v "$line" "${2:-.}/$o" + done