Comando nativo do shell configurado para extrair o valor do nó do XML

Estou tentando extrair o valor de um nó de um pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <parent>
        <groupId>org.me.labs</groupId>
        <artifactId>my-random-project</artifactId>
        <version>1.5.0</version>
    </parent>
    ...
</project>

Eu preciso extrair o artifactId e versão do XML usando um comando shell. Eu tenho os seguintes requisitos / observações:

O shell script será feito dentro de um arquivo de montagem que usamos no trabalho, então quanto menor o script, melhor.Como ele será usado em vários sistemas (geralmente RHEL5), estou procurando algo que possa ser executado de forma nativa em imagens padrão.Tags como podem ocorrer em outras partes do pom, então eu não posso simplesmente experimentar essas tags.

Eu tentei o seguinte:

xpath funciona no meu Mac, mas não está disponível por padrão em máquinas RHEL. Similarmente paraxmllint --xpath, que eu acho que só está disponível em versões posteriores dexmllint, que eu não tenho e não posso aplicar.xmllint --pattern parecia promissor, mas não consigo tirar uma saídaxmllint --pattern '//project/parent/version' pom.xml (imprime XML inteiro) ouxmllint --stream --pattern '//project/parent/version' pom.xml (sem saída).

Eu percebo que esta é uma pergunta comum aqui em SO, mas os pontos acima são porque eu não posso usar essas respostas. TIA pela sua ajuda.

questionAnswers(6)

yourAnswerToTheQuestion