Se você quer a linha de cabeçalho e rodapé, é bem simples com sed
eg
sed -n "/^~PAR1~$/,/Par Finished/p"
Isso é simples de usar com uma variável
START=PAR1
sed -n "/^~$START~$/,/Par Finished/p"
Também podemos tornar a última linha uma variável
START=PAR1
END="Par Finished"
sed -n "/^~$START~$/,/$END/p"
O resultado parece:
~PAR1~
This is Par1 line 1
This is Par1 line 2
Par Finished
Agora, se você não quer as linhas de início / fim e não quer a linha em branco, é um pouco mais complicado.
Pode haver maneiras melhores, mas isso funciona para mim:
sed -n "/^~$START~$/,/$END/ { /^~$START~$/d ; /$END/d ; /^$/d ; p }"
O resultado disso é
This is Par1 line 1
This is Par1 line 2