想要根據Start Date ($1)
和End Date ($2)
生成連續日期。 示例中還涵蓋了閏年。根據起始日期和結束日期生成一個日期序列
INPUT.TXT
02-JUL-2015,04-JUL-2015
28-FEB-2016,02-MAR-2016
30-DEC-2013,01-JAN-2014
12-AUG-2012,14-AUG-2012
我
試圖像下面的命令,並完成:
#!/usr/bin/gawk -f
BEGIN {FS=","}
{
split($1,s,"-")
split($2,e,"-")
st=mktime(s[3] " "(index("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",s[2])+2)/3" " s[1] " 0 0 0")
et=mktime(e[3] " "(index("JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC",e[2])+2)/3" " e[1] " 0 0 0")
for (i=st;i<=et;i+=60*60*24) print strftime("%d-%b-%Y",i)
}
所需的輸出:
02-JUL-2015
03-JUL-2015
04-JUL-2015
28-FEB-2016
29-FEB-2016
01-MAR-2016
02-MAR-2016
30-DEC-2013
31-DEC-2013
01-JAN-2014
12-AUG-2012
13-AUG-2012
14-AUG-2012
請!!!建議
我得到了一個不同的錯誤,可以通過將'BEGIN {FS =「,」}'移出catch-all模塊來解決。 – Wintermute
@Wintermute,非常感謝輸入,我已更新腳本 – VNA
@EdMorton,非常感謝投入! – VNA