如何使用BASH脚本的AWK生成给出的开始和结束日期的日期序列?
发布时间:2020-12-15 19:10:53 所属栏目:安全 来源:网络整理
导读:我有一个具有以下格式的数据集 第一和第二个字段表示研究的开始和结束的日期(M / D / YYYY)。 如何将数据扩展到所需的输出格式,考虑到使用AWK或BASH脚本的闰年? 您的帮助非常感激。 输入 7/2/2009 7/7/2009 2/28/1996 3/3/1996 12/30/2001 1/4/2002 所需输
我有一个具有以下格式的数据集
第一和第二个字段表示研究的开始和结束的日期(M / D / YYYY)。 如何将数据扩展到所需的输出格式,考虑到使用AWK或BASH脚本的闰年? 您的帮助非常感激。 输入 7/2/2009 7/7/2009 2/28/1996 3/3/1996 12/30/2001 1/4/2002 所需输出 7/7/2009 7/6/2009 7/5/2009 7/4/2009 7/3/2009 7/2/2009 3/3/1996 3/2/1996 3/1/1996 2/29/1996 2/28/1996 1/4/2002 1/3/2002 1/2/2002 1/1/2002 12/31/2001 12/30/2001
如果你有gawk:
#!/usr/bin/gawk -f { split($1,s,"/") split($2,e,"/") st=mktime(s[3] " " s[1] " " s[2] " 0 0 0") et=mktime(e[3] " " e[1] " " e[2] " 0 0 0") for (i=et;i>=st;i-=60*60*24) print strftime("%m/%d/%Y",i) } 示范: ./daterange.awk inputfile 输出: 07/07/2009 07/06/2009 07/05/2009 07/04/2009 07/03/2009 07/02/2009 03/03/1996 03/02/1996 03/01/1996 02/29/1996 02/28/1996 01/04/2002 01/03/2002 01/02/2002 01/01/2002 12/31/2001 12/30/2001 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |