我有一个名为stuff.txt
. 该文件中有多行。这是该文件中的一行"somevalue": "4.2.1"
。我正在创建一个 shell 脚本来获取第二组双引号 (4.2.1) 之间的值。到目前为止,这是我的 shell 脚本中的内容:
substringVal=$(grep '\"somevalue\": \"' stuff.txt)
此代码段将值存储"somevalue": "4.2.1"
在我的变量中substringVal
,但我只想substringVal
包含4.2.1
。我不知道子字符串有多长,所以我不能只从某个索引开始获取一定数量的字符的子字符串。
我已经看过,awk
但我无法让它为我工作。如果有人能指出正确的方向,告诉我如何修改我的 shell 脚本中的命令以从我正在查找的行中获取子字符串,我将不胜感激。提前致谢。
它对我来说是这样工作的:
因此 awk 命令会跳过所有内容,直到“:”-分隔符。并且 sed 会删除最后一个双引号。