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.