diff options
| author | Marc Vertes <mvertes@free.fr> | 2025-02-24 11:52:58 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2025-02-24 11:52:58 +0100 |
| commit | 17d348db1738a536319de62229c233e764766087 (patch) | |
| tree | 19c57dfb03b05c9a814825d64da73ae253c19bbc /bin/fixnames | |
| parent | 9921f42676ea8361ea3d14bc1c9c5e184dfe5e07 (diff) | |
add mp3 scripts
Diffstat (limited to 'bin/fixnames')
| -rwxr-xr-x | bin/fixnames | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/bin/fixnames b/bin/fixnames new file mode 100755 index 0000000..dd1c5b3 --- /dev/null +++ b/bin/fixnames @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# Fix filenames in music library: no spaces or special chars. + +fixname() { echo "$1" | iconv -f utf8 -cs -t ascii//IGNORE; } + +# 1: fix directories +for f in *; do + [ -d "$f" ] || continue + n=$(fixname "$f") + [ "$f" = "$n" ] && continue + echo "$n" + mv "$f" "$n" +done + +for f in */*; do + [ -d "$f" ] || continue + n=$(fixname "$f") + [ "$f" = "$n" ] && continue + echo "$n" + mv "$f" "$n" +done + +# 2: fix files +for f in */*/*; do + [ -f "$f" ] || continue + n=$(fixname "$f") + [ "$f" = "$n" ] && continue + echo "$n" + mv "$f" "$n" +done |
