{
to_find="$1"; shift
local WHICHER="$(\which which 2>/dev/null)"
+#>&2 echo "got whicher as: $WHICHER"
if [ $? -ne 0 ]; then
# there is no which command here. we produce nothing due to this.
echo
+ return 2
fi
- echo $($WHICHER $to_find 2>/dev/null)
+ local sporkenz # must be defined local here, before call, or we don't get exit value?!
+ sporkenz=$($WHICHER "$to_find" 2>/dev/null)
+#>&2 echo "broken with this line, but here is exit val: $?"
+ local err=$?
+#>&2 echo "got whicher as: $WHICHER"
+ echo $sporkenz
+ return $err
}
# makes a directory of the name specified and then tries to change the
##############
# space 'em all: fixes naming for all of the files of the appropriate types
- # in the directories specified.
+ # in the directories specified. we skip any file with a dot in front, to
+ # respect their hidden nature. currently the set of files we'll rename is
+ # very boutique; it's in this function, and just happens to be the types of
+ # files we work with a lot.
function spacemall() {
local -a dirs=("${@}")
if [ ${#dirs[@]} -eq 0 ]; then
#hmmm: any way to do the below more nicely or reusably?
#hmmm: yes! a variable with a list of files that are considered TEXT_FILE_EXTENSIONS or something like that.
#hmmm: yes continued! also a variable for BINARY_FILE_EXTENSIONS to avoid those, where we need to in other scripts.
+#hmmm: wait, we actually have a mix here, since this is a renaming function and not a searching function; get it straight!
+#hmmm: would the composition of those two types of extensions cover all the files i want to rename? they have to be "important".
find "${dirs[@]}" -follow -maxdepth 1 -mindepth 1 -type f -and -not -iname ".[a-zA-Z0-9]*" | \
grep -i \
-"csv\|doc\|docx\|eml\|html\|jpeg\|jpg\|m4a\|mov\|mp3\|ods\|odt\|pdf\|png\|ppt\|pptx\|rtf\|txt\|vsd\|vsdx\|xls\|xlsx\|xml\|zip" | \
+"csv\|doc\|docx\|eml\|html\|jpeg\|jpg\|m4a\|mov\|mp3\|odp\|ods\|odt\|pdf\|png\|ppt\|pptx\|rtf\|txt\|vsd\|vsdx\|wav\|xls\|xlsx\|xml\|zip" | \
sed -e 's/^/"/' | sed -e 's/$/"/' | \
xargs bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh"
# drop the temp file now that we're done.