我正在尝试计算时间段之间的记录数。
doa
19560227
19560429
19571001
19571201
19580301
.
.
.
.
20170327
20170401
时间段介于日历之间,如
19560101 to 19561231
19570101 to 19571231
.
.
.
20170101 to 20171231
每当日期改变时,它应该增加变量。 我尝试使用以下代码但无法获得结果。
awk '{
doa=$1
cnt=1956
for (i=19560101; i<=20171231; i=i+10000){
if(doa >=i && doa <= i+1130){year${cnt}+=1}
}
print year${cnt}
cnt+=1
}'
请帮忙。
答案 0 :(得分:0)
喜欢这个?:
$ awk '{a[substr($i,1,4)]++}END{for(i in a) print i, a[i]}' file
1956 2
doa 1
. 4
1957 2
1958 1
2017 2
由于范围是日历年,是否足以计算年数?如果没有,请参阅下面的评论。
如果要输出整个范围,请在print
:
print i "0101 to " i "1231", a[i]
输出
19560101 to 19561231 2
...