版权声明:转载请注明来源,http://blog.csdn.net/u010071211 https://blog.csdn.net/u010071211/article/details/85166744
主要原理:大文件分割成小文件。split 分割文件命令
为了保证文件的完整性,要按行分割
wc -l test.log #查看总共多少行
可知81910500行, 分割成10M左右,81910500/102.4 约800000 行一个文件
# 按行 行数 文件名 后缀数字 后缀4位 前缀
split -l 800000 test.log -d -a 4 test_
查看小文件即可
less test_0001
cat -n test_0001 | grep 查找内容
补充内容:
1、快速生成1G大log文件
首先我有约100k的小文件s.log,循环 10500次生成大约1G文件test.log。
shell脚本内容如下:
touch test.log
for((i=0;i<10500;i++))
do
cat s.log >> test.log
echo "www.djlcx.cn" >>test.log
done
2、split的使用
-b 按文件大小分割
split -b 1M file #默认后缀是字母 xaa xab xac ...
split -b 10k file -d -a 3 #3位数字后缀 x000 x001 x002 ...
split -b 10k file -d -a 3 split_ #指定前缀
3、合并文件
cat test_* >t.log