extracted spacem to file, new spacemall alias
authorChris Koeritz <fred@gruntose.com>
Tue, 15 Jan 2019 05:03:07 +0000 (00:03 -0500)
committerChris Koeritz <fred@gruntose.com>
Tue, 15 Jan 2019 05:03:07 +0000 (00:03 -0500)
scripts/core/common.alias
scripts/core/functions.sh
scripts/files/spacem.sh [new file with mode: 0644]

index cd08c8ab49f30c610d9ef40e0618180d5e127337..ec290f2323fa67e23454f89f66ccf1142b5fd06f 100644 (file)
 
 ##############
 
+# make our functions available to the aliases.
+#hmmm: should this be necessary?  will it even work?
+source "$FEISTY_MEOW_SCRIPTS/core/functions.sh"
+
+##############
+
 # call the generated aliases file, if it exists.
 # we do this first so that our core aliases get a chance to override the aliases
 # based on scripts.
@@ -135,7 +141,8 @@ define_yeti_alias cputemp='acpi -t'
 define_yeti_alias reroot='chown -R root:root /root'
 
 # space 'em all fixes naming for all of the files of the appropriate types in the current directory.
-define_yeti_alias spacemall='spacem *.txt *.pdf *.jpg *.png *.odt *.ods *.JPG *.docx *.m4a *.mp3 *.eml *.html 2>> ~/.tmp/zz_spacem.log'
+define_yeti_alias spacemall="find .  -maxdepth 1 -mindepth 1 -type f $(echo pdf png jpg jpeg odt ods docx m4a mp3 eml html mov pptx xlsx | sed -e 's/\([a-z0-9][a-z0-9]*\)/-iname \"*.\1\" -o /g') -iname \"*.txt\" -exec bash "$FEISTY_MEOW_SCRIPTS/files/spacem.sh" \"{}\" \; "
+#2>> ~/.tmp/zz_spacem.log'
 
 # yes, these what/who/why functions are really helpful...
 define_yeti_alias whoareyou='echo -e "Hello, I am a computer named $(hostname)\nand I am very pleased to meet you."'
index 14aa99da59b40fa1dad2387493d3eb4325b98deb..a5cd8b41f0aadc9c932abad09726faf5442be2b2 100644 (file)
@@ -710,48 +710,48 @@ or if you're on cygwin, then try this (if apt-cyg is available):\n
     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
-  }
+#  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
+#  }
 
   ##############
 
diff --git a/scripts/files/spacem.sh b/scripts/files/spacem.sh
new file mode 100644 (file)
index 0000000..fb06d8c
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+function spacem_out()
+{
+  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 cannot 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 is not 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
+}
+
+# this block should execute when the script is actually run, rather
+# than when it is just being sourced.
+if [[ $0 =~ .*spacem\.sh.* ]]; then
+  source "$FEISTY_MEOW_SCRIPTS/core/launch_feisty_meow.sh"
+  exit_on_error "sourcing the feisty meow environment"
+  spacem_out "${@}"
+  exit_on_error "running spacem_out on a list: $*"
+fi
+