Ответ Эрика Ренуфа делает большую часть работы. А комментарий steeldriver вырезает лишний текст в заданной строке, делая ее не-жадной.
Таким образом, похоже, что:grep -oP 'This.*?day' theabovetext
делает все, что вы хотите, за исключением того, что вывод находится в нескольких строках.
Чтобы поместить вывод в одну строку, вы можете сделать grep -oP 'This.*?day' theabovetext | tr '\n' ' '
. Это дополнение просто заменяет разрывы строк пробелами *
*Это заменит все выходные символы новой строки пробелами. Поэтому, если ваш первоначальный ввод разделен строкой, эти разрывы новой строки будут потеряны.