gpt4 book ai didi

shell - awk 命令转换文件中的日期格式

转载 作者:行者123 更新时间:2023-12-03 20:18:33 25 4
gpt4 key购买 nike

下面给出了文件内容和使用的 awk 命令:

输入文件:in_t.txt

1,ABC,SSS,20-OCT-16,4,1,0,5,0,0,0,0
2,DEF,AAA,20-JUL-16,4,1,0,5,0,0,0,0

预期输出文件:
SSS|2016-10-20,5
AAA|2016-07-20,5

我尝试了以下命令:
awk -F , '{print $3"|"$(date -d 4)","$8}' in_t.txt

得到输出文件为:
SSS|20-OCT-16,5
AAA|20-JUL-16,5

我唯一想知道的是如何使用相同的 awk 命令格式化日期。试过
awk -F , '{print $3"|"$(date -d 4)","$8 +%Y-%m-%d}' in_t.txt

获取语​​法错误。我能得到一些帮助吗?

最佳答案

最好在 shell 中执行此操作并使用 date -d转换 date格式:

#!/bin/bash

while IFS=',' read -ra arr; do
printf "%s|%s,%s\n" "${arr[2]}" $(date -d "${arr[3]}" '+%Y-%m-%d') "${arr[7]}"
done < file

SSS|2016-10-20,5
AAA|2016-07-20,5

关于shell - awk 命令转换文件中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38262829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com