Sunday, January 2, 2022

[Other] 小内存处理1G或10G大小的log文件

 主要原理:大文件分割成小文件。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

————————————————

原文链接:https://blog.csdn.net/u010071211/article/details/85166744

No comments:

Post a Comment

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能