# in the directories specified.
function spacemall() {
local -a dirs=("${@}")
-echo "dirs from params are: " "${dirs[@]}"
if [ ${#dirs[@]} -eq 0 ]; then
-echo dirs had zero entries
dirs=(.)
fi
-echo "dirs are now: " "${dirs[@]}"
- local ext_list="$(echo pdf png jpg jpeg odt ods docx m4a mp3 eml html mov pptx xlsx zip | sed -e 's/\([a-z0-9][a-z0-9]*\)/-iname \"*.\1\" -o /g')"
-echo "ext_list=$ext_list"
- find "${dirs[@]}" -follow -maxdepth 1 -mindepth 1 -type f $ext_list -iname "*.txt" -exec bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh" "{}" \;
+
+ local charnfile="$(mktemp $TMP/zz_charn.XXXXXX)"
+ find "${dirs[@]}" -follow -maxdepth 1 -mindepth 1 -type f | \
+ grep \
+"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"
}
##############
{
while [ $# -gt 0 ]; do
arg="$1"; shift
-echo "arg is '$arg'"
if [ ! -f "$arg" -a ! -d "$arg" ]; then
echo "=> did not find a file or directory named '$arg'."
continue
intermediate_name="$(bash "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg")"
local saw_intermediate_result=0
if [ -z "$intermediate_name" ]; then
-echo no new intermed name reported
# make sure we report something, if there are no further name changes.
intermediate_name="'$arg'"
else
# here we rename the file to be lower case.
actual_file="$(echo $intermediate_name | sed -e "s/'\([^']*\)'/\1/")"
-echo actual file computed: $actual_file
final_name="$(perl "$FEISTY_MEOW_SCRIPTS/files/renlower.pl" "$actual_file")"
local saw_final_result=0
-echo temp final name is: $final_name
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 result=$saw_intermediate_result
-echo intermed name=$intermediate_name
-echo final result=$saw_final_result
-echo final name=$final_name
if [[ $saw_intermediate_result != 0 || $saw_final_result != 0 ]]; then
# printout the combined operation results.
# this block should execute when the script is actually run, rather
# than when it is just being sourced.
if [[ $0 =~ .*spacem\.sh.* ]]; then
-echo inside exec block for spacem
source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
exit_on_error "sourcing the feisty meow environment"
spacem_out "${@}"