有人建议快速oneliner将20111214转换为2011.12.14 in unix吗?

Jam*_*ond 2 linux shell awk sed

我认为这应该可以在sed/awk中使用,对吗?将以下列表转换为2011.08.01 ...等

20110801
20110802
20110803
20110804
20110805
20110808
Run Code Online (Sandbox Code Playgroud)

只是不够聪明,无法弄清楚如何做到这一点

任何建议?

hol*_*eek 7

使用GNU日期:

    for date in 20110801 20110802 20110803 20110804 20110805 20110808; do
            date -d "$date" +%Y.%m.%d
    done
Run Code Online (Sandbox Code Playgroud)

它无效日期的barfs.


Nik*_*RIP 7

date -d '20111214' +'%Y.%m.%d'
Run Code Online (Sandbox Code Playgroud)

输入字符串可以接近可以识别为日期的所有内容.