json文件的内容
"iso_checksum": "md5:32fdf4fef4ef"我将新校验和的值存储在变量v= "4dfv45ffdf“中。
我想替换md5后的值:从32fdf4fef4ef替换到4dfv45ffdf,替换后,文件中的上述行应该如下
"iso_checksum": "md5:4dfv45ffdf"32 fdf4fef4ef不是固定值,所以我们不能像下面这样替换
sed -i 's/32fdf4fef4ef/4dfv45ffdf/' file4dfv45ffdf这个值也不是固定值,它保存在$v中。
有谁能帮我完成上述任务吗?
发布于 2022-04-08 09:32:26
正确答案如下
y="4dfv45ffdf"
sed "/\"iso_checksum\":/s/\(^[^:]*[:][ ]\).*$/\1\"md5:$y\",/" file.json发布于 2022-04-08 07:56:40
我将按照以下方式使用GNU AWK来完成此任务
awk -v v="4dfv45ffdf" '{gsub("md5:[[:xdigit:]]+","md5:"v);print}' file.json说明:将每个md5:替换为1或更多个基本16位,使用md5:将其与v、print整行的值连接起来。
https://stackoverflow.com/questions/71793053
复制相似问题