este é um simples script python que irá analisar seu html e colocar todos os valores em uma lista e imprimi-lo. Você pode escrever o resto do seu script em python, ou chamar este script de python, ou conectar este pequeno código como um trecho no bash. Confira os exemplos abaixo.
test.html
< h1>header1< /h1>
< h2>header2< /h2>
< h2>otherHeader2< /h2>
< h1>lastHeader1< /h1>
< h2>lastHeader2< /h2>
parse_header.py
#!/usr/bin/env python
import sys, re
print re.findall(r'< h\d>(.*)< /h\d>', sys.stdin.read())
O script pode ser chamado a partir do bash
cat test.html | parse_header.py
código python pode ser colocado no script bash
cat test.html | python -c "import sys, re;print re.findall(r'< h\d>(.*)< /h\d>', sys.stdin.read())"
a última opção que acredito não é muito legível no seu caso. Faz mais sentido se você tem algum código simples onde não vale a pena colocá-lo em seu próprio script.