首页 > 解决方案 > bash shell 脚本从文件中由双引号分隔的特定行获取子字符串

问题描述

我正在尝试使用 shell 脚本从文件中的一行获取子字符串。粘性部分是文件中的行由双引号分隔。我正在尝试获取表示第二组双引号之间的版本号的字符串。

这是我文件中的行:

"parentDirectory/childLibrary": "2.4.177"

我正在尝试将其提取2.4.177并存储在一个变量中,以便稍后在我的 shell 脚本中使用它。

到目前为止,这是我的 shell 脚本:

currentVersion=$(grep '\"parentDirectory/childLibrary\": \"' somefile.txt)

这将获得其中包含我想要使用的版本号的行,但我无法弄清楚如何获取字符串中第 3 和第 4 双引号之间的内容。我不能只说x从 position 开始的字符数量,y因为我不知道子字符串会有多长。我找到的最接近的东西是这里的答案,但我不知道如何使用它来设置一个等于我想要的子字符串的变量。任何帮助将非常感激。与往常一样,明确解释的工作答案将被投票并标记为选定答案。提前致谢。

标签: jsonbashshellsubstring

解决方案


推荐阅读