]> git.donarmstrong.com Git - bin.git/blobdiff - sanitize_filename
* in anime mode, ditch (foo) too
[bin.git] / sanitize_filename
index 41f8b39cebb0281e415d8809559361cffec5dbec..19737a23cd8ccb3ba288eb3b9db171a1830bbea9 100755 (executable)
@@ -1,4 +1,31 @@
 #! /bin/sh
 # replace spaces with underscores, lowercase everything, ditch multiple underscores, and ditch _.foo.
 # should probably try to avoid overwriting existing files, but c'est la vie!
-rename 's/\s+/\_/g; $_ = lc($_); s/\_+/\_/g; s/\_\././' "$@"
+
+TEMP="$(getopt --longoptions 'anime' -- '' "$@")"
+eval set -- $TEMP
+set -e
+
+ANIME_CUT=0
+
+
+while [ $1 != '--' ]; do
+    case $1 in 
+       --anime)
+           ANIME_CUT=1
+           ;;
+       --restart)
+           RESTART=1
+           ;;
+       --force)
+           FORCE=1
+           ;;
+    esac;
+    shift
+done;
+shift;
+if [ "$ANIME_CUT" == 0 ]; then
+    rename 's/\s+/\_/g; s/[^\w\d.]/\_/g; s/^_+//g; s/_$//g; $_ = lc($_); s/\_+/\_/g; s/\_\././' "$@"
+else
+    rename 's/\[[^\]]+\]//g; s/\([^\)]+\)//g; s/^_+//; s/\s+/\_/g; $_ = lc($_); s/[_-]+/\_/g; s/\_\././' "$@"
+fi;
\ No newline at end of file