gpt4 book ai didi

linux - 如何将日期 "+%F %T"转换为日期列表的 RFC 2822 格式

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:46 32 4
gpt4 key购买 nike

我已阅读以下问题:Convert from Unix time at the command lineConvert Any Format In Unix .我尝试了几种不同的方法将 2017-10-12 00:34:26 格式的时间转换为 date "+%F %T" date -R 格式或 Thu, 12 Oct 2017 00:34:26 -0400

因为我需要像下面这样转换日期列表,所以我使用 $etime 作为文件一行的变量(直到我让它工作)。

文件1:

2017-10-12 00:22:26
2017-10-12 00:25:26
2017-10-12 00:28:26
2017-10-12 00:31:26
2017-10-12 00:34:26

第一次尝试:

etime=$(echo "2017-10-12 00:34:26"); date -Rd @$etime

第二次尝试:

etime=$(echo "2017-10-12 00:34:26"); | gawk '{print strftime("%c", $0)}'

虽然这两个不起作用,但我希望让它们起作用,然后为 file1 中的每一行循环执行命令,因此结果将是:

Thu, 12 Oct 2017 00:22:26 -0400
Thu, 12 Oct 2017 00:25:26 -0400
Thu, 12 Oct 2017 00:28:26 -0400
Thu, 12 Oct 2017 00:31:26 -0400
Thu, 12 Oct 2017 00:34:26 -0400

有谁知道在列表中转换这些日期格式的有效方法?非常感谢您对这个问题的帮助和支持。

最佳答案

这需要 -f 的 GNU 日期选项:

date -R -f file1

导致

Thu, 12 Oct 2017 00:22:26 -0400
Thu, 12 Oct 2017 00:25:26 -0400
Thu, 12 Oct 2017 00:28:26 -0400
Thu, 12 Oct 2017 00:31:26 -0400
Thu, 12 Oct 2017 00:34:26 -0400

来自date手册页:

-f, --file=<i>DATEFILE</i>
like --date; once for each line of DATEFILE

-d, --date=<i>STRING</i>
display time described by STRING, not 'now'

关于linux - 如何将日期 "+%F %T"转换为日期列表的 RFC 2822 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46696537/

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