json - awk 更改日期时间格式

标签 json regex linux awk sed

我有大量文件,其中每个字符串都是日期格式不正确的 json。我现在的格式是 2011-06-02 21:43:59 我需要做的是在中间添加 T 以将其转换为 ISO 格式 2011-06-02T21:43:59

有人可以给我指点一个类轮解决方案吗?为此苦苦挣扎了 2 个小时,但没有成功。

最佳答案

sed 会用一个简单的 regex 来拯救你:

sed 's/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\) /\1T/g' file > file.new

或者,就地修改文件:

sed -i 's/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\) /\1T/g' file

例子

echo '2011-06-02 21:43:59' | sed 's/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\) /\1T/g'
2011-06-02T21:43:59

在这里阅读更多关于正则表达式的信息:Regex Tag Info

关于json - awk 更改日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41371867/

相关文章:

c# - 根据嵌套数组内的条件选择对象

java - 客户端和服务器之间传递json数据

php - 如何在 Linux 中使用 xampp 指向根目录中的文件?

windows - 为什么 CGIHTTPServer 在 Windows 中这么慢?

php - 我想将文件从一个文件夹复制到专用服务器中的另一个文件夹

javascript - 使用 JQuery 从 json 文件中通过键或 id 获取精确值

json - Spring REST - 字符串序列化 - 错误还是功能?

python - 使用正则表达式分组将字符串转换为字典

java - 正则表达式查找整个单词

python - 用python分割url