In my script I am taking a text file and splitting into sections. Before doing any splitting, I am reformatting the name of the text file. PROBLEM: Creating a folder/directory and naming it the formatted file name. This is where segments are placed. However the script breaks when the text file has spaces in it. But that is the reason I am trying to reformat the name first and then do the rest of the operations. How could I do so in that sequence?
execute script: text_split.sh -s "my File .txt" -c 2
text_split.sh
# remove whitespace and format file name
FILE_PATH="/archive/"
find $FILE_PATH -type f -exec bash -c 'mv "$1" "$(echo "$1" \
| sed -re '\''s/^([^-]*)-\s*([^\.]*)/\L\1\E-\2/'\'' -e '\''s/ /_/g'\'' -e '\''s/_-/-/g'\'')"' - {} \;
sleep 1
# arg1: path to input file / source
# create directory 
function fallback_out_file_format() {
     __FILE_NAME=`rev <<< "$1" | cut -d"." -f2- | rev`
     __FILE_EXT=`rev <<< "$1" | cut -d"." -f1 | rev`
     mkdir -p $FILE_PATH${__FILE_NAME};
     __OUT_FILE_FORMAT="$FILE_PATH${__FILE_NAME}"/"${__FILE_NAME}-part-%03d.${__FILE_EXT}"
     echo $__OUT_FILE_FORMAT
     exit 1 
}
# Set variables and default values
OUT_FILE_FORMAT=''
# Grab input arguments
while getopts “s:c” OPTION
do
     case $OPTION in
         s) SOURCE=$(echo "$OPTARG" | sed 's/ /\\ /g' ) ;;
         c) CHUNK_LEN="$OPTARG" ;;
         ?) usage
            exit 1
            ;;
     esac
done
if [ -z "$OUT_FILE_FORMAT" ] ; then
    OUT_FILE_FORMAT=$(fallback_out_file_format $SOURCE)
fi
 
     
     
     
    