我有一个巨大的 NDJSON 文件,其中一个字段是 "createDate":"01/02/2018"
。它是 dd/mm/yyyy
格式,我需要将它转换成 yyyy-mm-dd
格式。
我可以使用 sed
使用以下命令在小输入上执行此操作:
echo 28/02/2018 | sed 's,\([0-9][0-9]\)/\([0-1][0-9]\)/\([1-2][0-9][0-9][0-9]\),\3-\2-\1,'
但是,我无法找到一个解决方案,其中我必须在一个 JSON 文件中执行此操作,其中此值位于名称为 “createDate”
的键下。
示例 JSON 对象如下所示:
{
"pushNotificationEnabled": "true",
"createDate": "11/08/2018",
"email": null,
"photoUrl": null
}
非常感谢任何帮助。
最佳答案
您的命令适用于您的示例 JSON 对象!您可能希望将其操作限制在 createDate
字段:
sed '/"createDate":/s,\([0-9][0-9]\)/\([0-1][0-9]\)/\([1-2][0-9][0-9][0-9]\),\3-\2-\1,' input.json
这只会影响包含 "createDate":
标签的行:
==> input.json <==
{
"pushNotificationEnabled": "true",
"createDate": "11/08/2018",
"modifyDate": "31/08/2018",
"email": null,
"photoUrl": null
}
$ sed '/"createDate":/s,\([0-9][0-9]\)/\([0-1][0-9]\)/\([1-2][0-9][0-9][0-9]\),\3-\2-\1,' input.json
{
"pushNotificationEnabled": "true",
"createDate": "2018-08-11",
"modifyDate": "31/08/2018",
"email": null,
"photoUrl": null
}
关于json - 如何使用SED转换JSON格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52214488/