从json文件替换sed变量值

时间:2017-04-12 08:24:37

标签: linux sed

我有一个sed命令,用于在shell脚本中插入一行。我插入的脚本的名称在尝试执行此操作的每个环境中都有所不同。如果我提供了值,但是当我需要在大量环境中重复此操作时,我需要它来获取这些来自json文件的值。知道如何实现这个目标吗?

语法 - > override func awakeFromNib() { super.awakeFromNib() self.title = NSLocalizedString("Item 2", comment: "") }

sed -i '1 a if ! [ipaddress = <value> && OSTYPE = linux]; then exit(1); endif' qa-<envname>-vm1.sh

插入

sed -i '1 a if ! [ipaddress = 0.0.0.0 && OSTYPE = linux]; then exit(1); endif' qa-QAF-vm1.sh 在文件if ! [ipaddress = 0.0.0.0 && OSTYPE = linux]; then exit(1); endif的第一行之后。

我是如何从列出这些值的json文件中获取qa-QAF-vm1.shipaddress value的?

1 个答案:

答案 0 :(得分:0)

使用jq查询JSON数据结构中的元素。

JSON='{"ipaddress": "10.10.10.10", "ostype": "linux"}'

ipaddress=$(jq -r .ipaddress <<<"$JSON")
ostype=$(jq -r .ostype <<<"$JSON")

echo $ipaddress
echo $ostype