mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2025-10-07 07:22:36 +02:00
19 lines
555 B
Bash
19 lines
555 B
Bash
#!/bin/dash
|
|
|
|
[ "$(id -u)" = "0" ] && echo "This script should not be run as root" >&2 && exit 1
|
|
|
|
find . -depth -type d -path '*/.*' -prune -o -print0 | xargs -0 -P 0 -I {} dash -c '
|
|
|
|
base="${1##*/}"
|
|
path="${1%/*}"
|
|
|
|
pattern="s/[^a-zA-Z0-9 ._-]//g; s/[ .-]/_/g; s/_+/_/g; s/^_+//; s/_+$//; s/[A-Z]/\L&/g"
|
|
|
|
[ -f "$1" ] && pattern="$pattern; s/_([^_]+)$/.\\1/"
|
|
|
|
new_name="$(echo "$base" | sed -E "$pattern")"
|
|
|
|
[ "$base" != "$new_name" ] && [ -e "$path/$new_name" ] && new_name="${$}_${new_name}"
|
|
[ "$base" != "$new_name" ] && mv "$1" "$path/$new_name"
|
|
' _ {}
|