我每天大约有30000行文件。我每小时都要这个,直到一天结束,我想把它分成几个小时。例如如下:
Hours file
00-01 23
01-02 230
02-03 3453
使用awk命令我计算一个文件,每天大约30000行。文件示例是这样的。
200 | 2003| mandi | 2017-12-27 09:20:21 | end
每天在不同的时间内有30000行文件。这就是为什么我要分成几个小时的原因。
请帮我把它分成几小时,“for”循环或“while do”。
仍然不确定你真正想要什么,但我认为这很接近。您的示例文件没有太大用处,因此我将其扩展如下:
200 | 2003| mandi | 2017-12-27 09:20:21 | end
190 | 2007| mandi | 2017-12-27 10:20:21 | end
190 | 2007| mandi | 2017-12-27 10:30:21 | end
190 | 2007| mandi | 2017-12-27 10:31:21 | end
190 | 2007| mandi | 2017-12-27 10:31:25 | end
190 | 2007| mandi | 2017-12-27 23:31:25 | end
然后,我使用GNU awk
如下:
awk -F'|' '{split($4,a,/[ :]/);hour=a[3]+0; lines[hour]++}
END{ for(h=0;h<24;h++)printf("%d-%d: %d\n",h,h+1,lines[h]) }' YourFile.csv
样本输出
0-1: 0
1-2: 0
2-3: 0
3-4: 0
4-5: 0
5-6: 0
6-7: 0
7-8: 0
8-9: 0
9-10: 1
10-11: 4
11-12: 0
12-13: 0
13-14: 0
14-15: 0
15-16: 0
16-17: 0
17-18: 0
18-19: 0
19-20: 0
20-21: 0
21-22: 0
22-23: 0
23-24: 1