Para capturar informações na forma de consulta, você deve usar regex grupos de captura que estão ausentes em grep . Portanto, tente filtrar o comando curl output com sed (ou awk ):
sed -n 's/.*name="config.pkm.identity" value="\(.[^"]*\)".*$//p'
onde o valor do campo valor é capturado em (grupo de captura de regex # 1). Isto irá mostrar o valor do campo nome é config.pkm.identity .
Para nome é config.pkm.password use:
sed -n 's/.*name="config.pkm.password" value="\(.[^"]*\)".*$//p'
e etc.
Para mostrar todos os valores disponíveis de nomes correspondentes, use:
sed -n 's/.*name=".*" value="\(.[^"]*\)".*$/</p'
UPDATE para comentar
Para escolher os valores correspondentes na consulta de um sed, use o seguinte esquema:
Use o agrupamento regex adicional com | pipe sign, o que significa OR statement. Isso permite que sed faça escolhas a partir de um determinado conjunto de variantes para corresponder aos resultados finais (observe também que os dois% parêntese | pipe e ( ) parênteses)
Por exemplo:
sed -n -e 's/.*name="\(config.pkm.identity\|config.pkm.inner_identity\|config.pkm.password\)" value="\(.[^"]*\)".*$//p'
isso pesquisará e exibirá os dados dos nomes config.pkm.identity , config.pkm.inner_identity e config.pkm.password no fluxo.
Note também que a referência final do grupo de captura regex é - agora é o segundo grupo.