O pacote html-xml-utils , disponível na maioria das principais distribuições do Linux, tem um número de ferramentas que são úteis ao lidar com documentos HTML e XML. Particularmente útil para o seu caso é hxselect
, que lê a entrada padrão e extrai elementos baseados em seletores CSS. Seu caso de uso seria semelhante:
hxselect '#the_div_id' <file
Você pode receber uma reclamação sobre a entrada não estar bem formada, dependendo do que você está alimentando. Esta queixa é dada por erro padrão e, portanto, pode ser facilmente suprimida, se necessário. Uma alternativa para isso seria usar o pacote HTML :: PARSER do Perl; no entanto, vou deixar isso para alguém com habilidades de Perl menos enferrujadas do que as minhas.