нам нужно знать, что такое номер строки для string1 и string2, мы можем использовать grep -n для этого, затем, используя head и tail, мы можем получить строки между string1 и string2, например:
<--string 1-->
the text i need
<--string 2-->
start=$(cat file | grep -n <--string 1--> | grep -Eo [0-9]+)
finish=$cat file | grep -n <--string 2-->) | grep -Eo [0-9]+)
res=$((finish-start))
result=$(cat file | head -$start | tail -$res)
Itнемного хакерский, но у меня это сработало.