Bash can do pretty much anything. I think there are wikis written in bash.
But mainly, it seems like the stream editor "sed" is your friend here. If what you want to do is basically cue off of one column to format another, sed takes care of business pretty well.
For example:
Code:
#!/bin/bash
# This is where we'll do the heavy lifting
sed 's_italic\t\(.*\)_<i>\1</i>_' test.txt > temp0.html
sed 's_bold\t\(.*\)_<b>\1</b>_' temp0.html > temp1.html
# Now create the final file...
echo '<html>' > index.html
cat temp1.html >> index.html
echo '</html>' >> index.html
# and clean up...
rm temp0.html temp1.html
So, what I've done is used some temp files to store your main text file between sed commands, and used sed to pick out the the lines with specific formatting information and re-encode that into html. In the second part (creation of the final file), you can put whatever other html code you like before and after the sed-processed code.
Hope this helps.
Rick