我有一个很大的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
}
非常感谢您的帮助。
答案 0 :(得分:1)
您的命令适用于示例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
}