I was hoping for some help with a simple script I'm trying to use. I have the script set up to pull some simple information out of a database .txt file and sed it into a preexisting template for assignment cover letters. The problem seems to be someplace in the sed statement but I can't find it. Any insights? Code attached. TIA!
No idea. But here's the script for somebody that might me able to help.
(For future reference it's probably better to use the '#' in the toolbar to surrounding your code ;-).
could you post the contents or structure of your dbase.txt : there are many things to optimize in your script, mainly the long if then elif .... wich could be made with a simple loop.
That would be the database and the error I'm getting tells me that theres an error in expression #6 and character 13. I moved expression #6 to the front of the sed then reformatted the script and have it as you see. The sed statement was using -e to sed all variables into the template.
the problem comes probably from the date string, what gives the date command on your os ?
#! /bin/bash
# Reads the contents of the file and put it in arrays
i=0
OLDIFS=$IFS; IFS=":"
while read C T D E S
do
((i++))
CLASS[$i]=$C
TEACHER[$i]=$T
SECTION[$i]=$S
done < dbase.txt
IFS=$OLDIFS
echo
read -p "Your name please " STUDENT
echo
read -p "Your student ID number please " STUDID
echo
read -p "Enter submission title please " TITLE
echo
read -p "Enter submission subtitle please " SUBTITLE
echo
for ((i=1; i<${#CLASS[@]}; i++))
do echo "$i) ${CLASS[$i]}"
done
read -p "Pick course number " i
echo
read -p "Preferred file name? " FILENAME
echo
if sed -e "s/DATETIME/$(date)/" -e "s/SUBTITLE/$SUBTITLE/" -e "s/CLASS/${CLASS[$i]}/" -e "s/STUDENT/$STUDENT/" -e "s/STUDID/$STUDID/" -e "s/TITLE/$TITLE/" -e "s/SECTION/${SECTION[$i]}/" -e "s/TEACHER/${TEACHER[$i]}/" template.txt > $FILENAME.txt
then
echo "Thank you! Your cover page $FILENAME.txt has been created."
cat $FILENAME.txt
else
echo "An error occured"
fi