文章时间:2021年6月30日 09:56:31
解决问题:大文件日志切割查看的方法
split命令专门用来将一个大文件分割成很多个小文件,我把split命令的选项做一个简要说明
选项 含义
-b 分割后的文档大小,单位是byte
-C 分割后的文档,单行最大byte数
-d 使用数字作为后缀,同时使用-a length指定后缀长度
-l 分割后文档的行数
为了尽量保证日志的可读性,我们按行分割大日志文件,并且指定分割后的文件的前缀和后缀
#后缀是数字,占两位
split -l 1000000 test.log -d -a 2 文件名称前缀
dd bs=1M count=300 if=文件名称 of=新文件名称
bs代表数据块的大小,count表示复制的块数,if表示输入文件,of表示输出文件
sed -n '1,2000000p' 文件名称 > 新文件名称
sed -n '2000001,4000000p' 文件名称 > 新文件名称
sed -n '4000001,6000000p' 文件名称 > 新文件名称
sed -n '6000001,8000000p' 文件名称 > 新文件名称
sed -n '8000001,$p' 文件名称 > 新文件名称
sed -n '/2023-05-08 07:56:00/,/2023-05-08 07:59:00/p' rizhi.log > qiege.log
$表示最后一行,这个如果分割过多,也需要一个循环
awk '{if (NR<120000) print $0}' 文件名称 > 新文件名称
awk '{if (NR>=120000) print $0}' 文件名称 > 新文件名称