popd &>/dev/null
}
- function spacem()
- {
- while [ $# -gt 0 ]; do
- arg="$1"; shift
- if [ ! -f "$arg" -a ! -d "$arg" ]; then
- echo "=> did not find a file or directory named '$arg'."
- continue
- fi
-
- # first we will capture the output of the character replacement operation for reporting.
- # this is done first since some filenames can't be properly renamed in perl (e.g. if they
- # have pipe characters apparently).
- intermediate_name="$(bash "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg")"
- local saw_intermediate_result=0
- if [ -z "$intermediate_name" ]; then
- # make sure we report something, if there are no further name changes.
- intermediate_name="'$arg'"
- else
- # now zap the first part of the name off (since original name isn't needed).
- intermediate_name="$(echo $intermediate_name | sed -e 's/.*=> //')"
- saw_intermediate_result=1
- fi
-
- # first we rename the file to be lower case.
- actual_file="$(echo $intermediate_name | sed -e "s/'\([^']*\)'/\1/")"
- final_name="$(perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$actual_file")"
- local saw_final_result=0
- if [ -z "$final_name" ]; then
- final_name="$intermediate_name"
- else
- final_name="$(echo $final_name | sed -e 's/.*=> //')"
- saw_final_result=1
- fi
-#echo intermed=$saw_intermediate_result
-#echo final=$saw_final_result
-
- if [[ $saw_intermediate_result != 0 || $saw_final_result != 0 ]]; then
- # printout the combined operation results.
- echo "'$arg' => $final_name"
- fi
- done
- }
-
##############
# new breed of definer functions goes here. still in progress.
##############
+ # space 'em all: fixes naming for all of the files of the appropriate types
+ # in the directories specified.
+ function spacemall() {
+ local -a dirs=("${@}")
+ if [ ${#dirs[@]} -eq 0 ]; then
+ dirs=(.)
+ fi
+
+ local charnfile="$(mktemp $TMP/zz_charn.XXXXXX)"
+ find "${dirs[@]}" -follow -maxdepth 1 -mindepth 1 -type f | \
+ grep -i \
+"docx\|eml\|html\|jpeg\|jpg\|m4a\|mov\|mp3\|ods\|odt\|pdf\|png\|pptx\|txt\|xlsx\|zip" | \
+ sed -e 's/^/"/' | sed -e 's/$/"/' | \
+ xargs bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh"
+ # drop the temp file now that we're done.
+ rm "$charnfile"
+ }
+
+ ##############
+
# site avenger aliases
function switchto()
{