Вам необходимо удалить все двойные кавычки из аргумента grep, а затем заменить одинарные на двойные кавычки.Это потому, что переменные не раскрываются в одинарных кавычках.На самом деле, все между одинарными кавычками воспринимается буквально.Таким образом, когда вы пишете
echo "It was embellished ..." | grep -E '"${word}""ed"|"${word}""es"'
Вы ищете буквенную строку
"${word}""ed"|"${word}""es"
Если вместо этого вы пишете
echo "It was embellished ..." | grep -E "${word}ed|${word}es"
, то переменная word
развернуто, и вы ищете либо embellished
, либо embellishes
.
. Кстати: Вы можете сохранить набор текста, сгруппировав окончание ed
, es
и т. д.
echo "It was embellished ..." | grep -E "$word(ed|es|ing)"