我一直在寻找互联网,但没有结果.
我正在尝试构建一个包生成器(在shell / bash中),并且相应的包包含(一个或多个)json文件.浏览json文件时,如果用户想要删除其中一个步骤,我必须首先考虑如果要删除的步骤是最后一步.如果是这样,最后一步的前一个将包含一个逗号,但json格式不允许这样做.
{
"operation_machinetype": "Ford",
"operation_steps": [
"steps/Step_1/01_paint_the_car.json",
"steps/Step_2/01_drive_the_car.json",
"steps/Step_2/02_park_the_car.json"
]
}
例如,如果我删除’“steps / Step2 / 02_park_the_car.json”’,那么’“steps / Step2 / 01_drive_the_car.json”,’将是最后一步,但逗号将导致错误.
大家先谢谢大家.
解决方法:
$cat tst.awk
index($0,tgt) {
if (!/,[[:space:]]*$/) {
sub(/,[[:space:]]*$/,"",prev)
}
next
}
NR>1 { print prev }
{ prev = $0 }
END { print prev }
$awk -v tgt='"steps/Step_2/02_park_the_car.json"' -f tst.awk file
{
"operation_machinetype": "Ford",
"operation_steps": [
"steps/Step_1/01_paint_the_car.json",
"steps/Step_2/01_drive_the_car.json"
]
}
$awk -v tgt='"steps/Step_2/01_drive_the_car.json"' -f tst.awk file
{
"operation_machinetype": "Ford",
"operation_steps": [
"steps/Step_1/01_paint_the_car.json",
"steps/Step_2/02_park_the_car.json"
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。