summaryrefslogtreecommitdiff
path: root/home/xyz/.local/bin/mvt
blob: 716c0eaa76f267269e1c257041d5eb9b91e6c499 (plain)
1
2
3
4
5
6
7
8
#!/bin/sh
# emulate mv -t, for use with `find ... -exec mvt ... '{}' \+`, more POSIX compliant
# example: mvt ./dir/ -i -- file1 file2

dist="$1"
shift
# not use -- here, use -- when use mvt, so I can specify -f or -i switch before -- when use mvt
mv "$@" "$dist"
"$1" | tr -d "\047" | sed -E -e "s/([[:lower:]])([[:upper:]])/\1_\2/g" | tr "[:upper:] " "[:lower:]_" | tr -s "[:punct:]" | sed -E -e "s#/-#/#g" -e "s/_([[:punct:]])/\1/g" -e "s/([[:punct:]])_/\1/g" | tr -s "[:punct:]")"; [ -e "$dest" ] || mv -v -- "$1" "$dest"' shell '{}' \;