X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sanitize_filename;h=e56e3451b12169a0352ad0bb01ba4fc98cef8cc0;hb=dcce90e77c92202b5fadca48de6fd1cefc41ff79;hp=41f8b39cebb0281e415d8809559361cffec5dbec;hpb=7be10d24b200a2b83669c132f25badf75e2fd8fb;p=bin.git diff --git a/sanitize_filename b/sanitize_filename index 41f8b39..e56e345 100755 --- a/sanitize_filename +++ b/sanitize_filename @@ -1,4 +1,26 @@ -#! /bin/sh +#! /bin/bash # 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 + ;; + esac; + shift +done; +shift; +set -x +if [ "$ANIME_CUT" == 0 ]; then + rename 's/\s+/\_/g; s{[^\w\d.\/]}{\_}g; s/_$//g; $_ = lc($_); s/\_+/\_/g; s/\_\././; s/^_+//g; s/_+$//g;' "$@" +else + rename 's{\[[^\]\/]+\]}{}g; s{\([^\)\/]+\)}{}g; s/\s+/\_/g; $_ = lc($_); s/[_-]+/\_/g; s/\_\././; s/^_+//; s/_+$//g;' "$@" +fi;