使用 linux 命令添加到文件
Add to file using linux command
我有以下文件
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}]
}
现在我想添加(在上面的文件中)像下面这样在不同的文件中。
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
需要一些帮助来使用 sed 或 awk 或使用其他 linux 命令来实现此目的。很遗憾,我们无法在我的帐户中使用 jq。
预期输出。
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
}
使用“ed”:
ed filename << EOF
/}$
i
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
.
w
q
EOF
注意:未经测试
这可能是您想要做的,在每个 Unix 机器上使用任何 shell 中的任何 awk:
$ awk 'NR==FNR{new=new [=10=] ORS; next} /^}]$/{printf "}],\n%s", new} 1' file2 file1
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
}]
}
我有以下文件
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}]
}
现在我想添加(在上面的文件中)像下面这样在不同的文件中。
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
需要一些帮助来使用 sed 或 awk 或使用其他 linux 命令来实现此目的。很遗憾,我们无法在我的帐户中使用 jq。
预期输出。
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
}
使用“ed”:
ed filename << EOF
/}$
i
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
.
w
q
EOF
注意:未经测试
这可能是您想要做的,在每个 Unix 机器上使用任何 shell 中的任何 awk:
$ awk 'NR==FNR{new=new [=10=] ORS; next} /^}]$/{printf "}],\n%s", new} 1' file2 file1
{
"param-key1": [{
"parm-value1": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key2": [{
"parm-value2": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key3": [{
"parm-value3": [{
"dev": "06:00",
"prod": "09:00"
}]
}],
"param-key4": [{
"parm-value4": [{
"dev": "06:00",
"prod": "09:00"
}]
}]
}