This is a solution:
Code:
#!/bin/bash
TESTLINE="Unix and linux are great and wonderfull operating systems."
PATTERN_1="are"
PATTERN_2="operating"
echo "Original:"
echo "${TESTLINE}"
echo ""
echo "Words in between two patterns ('are' and 'operating'):"
echo ${TESTLINE} | sed "s/.*${PATTERN_1}\(.*\)${PATTERN_2}.*/\1/"