我有一个大小约为35GB的Apache访问日志文件。 使用grep进行搜索已经不再是一种可行的选择,需要等待很长时间。
我想按照日期作为分割标准,将它拆分成许多小文件。
日期格式为[15/Oct/2011:12:02:02 +0000]
。 有没有什么方法可以仅使用bash脚本、标准文本操作程序(如grep、awk、sed等)、管道和重定向来完成?
输入文件名为access.log
。 我希望输出文件的格式为access.apache.15_Oct_2011.log
(这样会起到效果,但在排序时不太好看。)
sprintf("%02d", a)
来编码month
变量。请修复你的输出文件名以避免混淆。 - SebMa