【问题标题】:How to change date format in linux/unix text file如何更改 linux/unix 文本文件中的日期格式
【发布时间】:2017-04-30 12:17:07
【问题描述】:

我的 linux 系统中有 sample.txt 文件。我的文件中存在的所有数据都采用以下日期格式

            Mon Apr 24 16:14:06 PDT 2017
            Tue Apr 25 13:31:25 PDT 2017
            Mon Apr 03 13:53:03 PDT 2017
            Sun Feb 05 16:19:27 PST 2017
            Sun Feb 05 17:51:42 PST 2017
            Sun Feb 05 18:16:21 PST 2017
            Sun Feb 05 19:17:33 PST 2017
            Sun Feb 05 21:14:23 PST 2017
            Sat Feb 04 10:39:33 PST 2017
            Sat Feb 04 10:46:52 PST 2017
            Sat Feb 04 14:35:27 PST 2017

我想将我的 sample.txt 文件中的所有这些日期格式转换为 YYYY-MM-DD 格式。

【问题讨论】:

    标签: linux date unix


    【解决方案1】:

    date -d 很简单,例如

    while read -r line; do 
        echo $(date -d "$line" +%Y-%m-%d); 
    done < file.txt
    

    输入文件

    $ cat file.txt
                Mon Apr 24 16:14:06 PDT 2017
                Tue Apr 25 13:31:25 PDT 2017
                Mon Apr 03 13:53:03 PDT 2017
                Sun Feb 05 16:19:27 PST 2017
                Sun Feb 05 17:51:42 PST 2017
                Sun Feb 05 18:16:21 PST 2017
                Sun Feb 05 19:17:33 PST 2017
                Sun Feb 05 21:14:23 PST 2017
                Sat Feb 04 10:39:33 PST 2017
                Sat Feb 04 10:46:52 PST 2017
                Sat Feb 04 14:35:27 PST 2017
    

    使用/输出示例

    $ while read -r line; do echo $(date -d "$line" +%Y-%m-%d); done < file.txt
    2017-04-24
    2017-04-25
    2017-04-03
    2017-02-05
    2017-02-05
    2017-02-05
    2017-02-05
    2017-02-05
    2017-02-04
    2017-02-04
    2017-02-04
    

    【讨论】:

      【解决方案2】:

      我不知道这是否是最好的方法,但这应该可行

      awk '{print $6"-"$2"-"$3}' file.txt | sed 's/Jan/01/g; s/Feb/02/g; s/Mar/03/; s/Apr/04/g; s/May/05/g; s/Jun/06/g; s/Jul/07/g; s/Aug/08/g; s/Sep/09/g; s/Oct/10/g; s/Nov/11/g; s/Dec/12/g'
      

      【讨论】:

        猜你喜欢
        • 2016-09-28
        • 1970-01-01
        • 2021-10-04
        • 1970-01-01
        • 1970-01-01
        • 2019-04-09
        • 2017-02-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多