From 0a6c226a5b8a0933e8629cf0255574421b6d8d7a Mon Sep 17 00:00:00 2001 From: curt mayer Date: Fri, 31 Jan 2020 22:26:20 -0800 Subject: [PATCH] added ability to have paths --- Tools/unix/casefn.sh | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/Tools/unix/casefn.sh b/Tools/unix/casefn.sh index 28563946..2b2939dd 100755 --- a/Tools/unix/casefn.sh +++ b/Tools/unix/casefn.sh @@ -22,22 +22,39 @@ fi # # normalize to lower case all input file names # -if echo $* | grep -q / ; then - echo "no paths allowed" - exit 1 -fi for infn in $* ; do - echo $infn | tr '[A-Z]' '[a-z]' >> $in + dirn=$(dirname $infn) + df= + for dl in ${dirs[@]} ; do + if [ $dl == $dirn ] ; then + df=$dl + break; + fi + done + if [ -z $df ] ; then + dirs+=( $dirn ) + fi + echo -n $dirn/ >> $in + basename $infn | tr '[A-Z]' '[a-z]' >> $in done -sort $in > $search + +sort -u $in > $search +#echo search: +#cat $search + +here=$(pwd) # # build join list of file names and lower case forms # rm -f $in -for i in * ; do - echo $(echo "$i" | tr '[A-Z]' '[a-z]')",$i" >> $in +for dn in ${dirs[@]} ; do + cd $here + cd $dn + for i in * ; do + echo $dn/$(echo "$i" | tr '[A-Z]' '[a-z]')",$dn/$i" >> $in + done done sort $in > $all