Eu tenho um arquivo chamado stuff.txt
. Existem várias linhas nesse arquivo. Esta é uma das linhas desse arquivo "somevalue": "4.2.1"
. Estou criando um shell script para obter o valor entre o segundo conjunto de aspas duplas (4.2.1). Aqui está o que eu tenho no meu script de shell até agora:
substringVal=$(grep '\"somevalue\": \"' stuff.txt)
este trecho armazena o valor "somevalue": "4.2.1"
na minha variável, substringVal
mas quero substringVal
conter 4.2.1
apenas. Não sei quanto tempo a substring terá, então não posso simplesmente pegar uma substring começando em um determinado índice para uma certa quantidade de caracteres.
Eu olhei, awk
mas não consegui fazê-lo funcionar para mim. Se alguém pudesse me indicar a direção certa sobre como modificar meu comando em meu script de shell para obter a substring da linha que estou procurando, eu agradeceria. Desde já, obrigado.
Funcionou assim para mim:
Portanto, o comando awk pula tudo até o separador ": "" e o sed remove a última aspa dupla.