fi
}
- # switches from an X:/ form to an /X/path form.
+ # switches from an X:/ form to a /cygdrive/X/path form. this is only useful
+ # for the cygwin environment currently.
function dos_to_unix_path() {
# we always remove dos slashes in favor of forward slashes.
- echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/'
+#old: echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/\1\/\2/'
+ echo "$1" | sed -e 's/\\/\//g' | sed -e 's/\([a-zA-Z]\):\/\(.*\)/\/cygdrive\/\1\/\2/'
}
# returns a successful value (0) if this system is debian or ubuntu.
echo "failure to 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")"
+ 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/.*=> //')"
+ fi
+
# first we rename the file to be lower case.
- perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$arg" &>/dev/null
- # oops, now the name is all lower-case. we need to make the
- # same adjustment.
- arg2="$(echo "$arg" | tr A-Z a-z)"
- # we definitely wanted to adjust the case first, rather than doing all
- # the wacky stuff this script does to the filename... we will capture
- # the output of the replace operaton for reporting.
- final_name="$(bash "$FEISTY_MEOW_SCRIPTS/files/replace_spaces_with_underscores.sh" "$arg2")"
+ actual_file="$(echo $intermediate_name | sed -e "s/'\([^']*\)'/\1/")"
+ final_name="$(perl $FEISTY_MEOW_SCRIPTS/files/renlower.pl "$actual_file")"
if [ -z "$final_name" ]; then
- # make sure we report something, if there are no further name changes.
- final_name="$arg2"
+ final_name="$intermediate_name"
+ else
+ final_name="$(echo $final_name | sed -e 's/.*=> //')"
fi
- # now zap the intermediate part of the name off.
- final_name="$(echo $final_name | sed -e 's/.*=> //')"
+
# printout the combined operation results.
echo "'$arg' => $final_name"
done
# this is a new or modified definition. if the feisty meow codebase is
# unloaded, then so are all the variables that were defined.
# this function always exports the variables it defines.
- function define_yeti_variable()
- {
-# if variable exists already, save old value for restore,
-# otherwise save null value for restore,
-# have to handle unsetting if there was no prior value of one
-# we newly defined.
-# add variable name to a list of feisty defined variables.
-
-#hmmm: first implem just sets it up and exports the variable.
-# i.e., this method always exports.
-export "${@}"
-
-
-return 0
- }
+# function define_yeti_variable()
+# {
+## if variable exists already, save old value for restore,
+## otherwise save null value for restore,
+## have to handle unsetting if there was no prior value of one
+## we newly defined.
+## add variable name to a list of feisty defined variables.
+#
+##hmmm: first implem just sets it up and exports the variable.
+## i.e., this method always exports.
+#export "${@}"
+#
+#
+#return 0
+# }
##############