#!/usr/bin/env bash # Fix filenames in music library: no special chars. fixname() { echo "$1" | iconv -f utf8 -cs -t ascii//IGNORE | tr -d '?"' } # 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