小编Meg*_*ron的帖子

重新格式化管道分隔文件中的时间戳

我有一个带有日期时间的管道分隔文件,格式yyyymmddhhmmss如下。

John|Doe|TEST|20210728120821|john@test.com
John|Davis|TEST|20210828120821|john@test.com
John|Smith|TEST|20210528120821|john@test.com
Run Code Online (Sandbox Code Playgroud)

我正在尝试将第 4 列中的字符串转换为yyyy-mm-dd hh:mm:ss这样

John|Doe|TEST|2021-07-28 12:08:21|john@test.com
John|Davis|TEST|2021-08-28 12:08:21|john@test.com
John|Smith|TEST|2021-05-28 12:08:21|john@test.com
Run Code Online (Sandbox Code Playgroud)

由于我不熟悉 Linux 中的文本处理,因此我搜索并尝试使用awk这样的方法

awk -F"|" '{OFS="|"; $4=strftime("%Y-%m-%d %H:%M:%S", $4); print $0}'
Run Code Online (Sandbox Code Playgroud)

但它没有按预期进行转换。

linux sed awk shell-script text-processing

5
推荐指数
3
解决办法
285
查看次数

标签 统计

awk ×1

linux ×1

sed ×1

shell-script ×1

text-processing ×1