linux 大文件夹分成小文件夹,Linux下如何拆分大的日志文件?

原标题:Linux下如何拆分大的日志文件?

前言

没设置好日志大小最大值,导致日志文件过大,普通编辑器根本没法打开或者特别卡,怎么办?拆分呗。

如何拆分

split命令上场。

按照行数拆分

假设文件test.txt有n多行,每2行拆分为一个文件,使用-l参数即可:

$ split -l 2 test.txt

$ ls -al

-rw-r--r-- 1 root root 32 Aug 31 16:55 test.txt

-rw-r--r-- 1 root root 20 Aug 31 16:55 xaa

-rw-r--r-- 1 root root 12 Aug 31 16:55 xab

仔细一看,拆分后的文件名难以描述啊。

能不能好好命名一下呢?

规范命名

使用-d参数可以用数字作为新的文件后缀:

$ split -l 2test.txt -d

$ ls

test.txt x00 x01 x02

还可以用-a指定后缀数字的长度(默认是2):

$ split -l 2test.txt -d -a 4

$ ls

test.txt x0000 x0001 x0002

不过开头的x实在看不顺序,我们还可以指定前缀,比如指定前缀为test:

$split -l 2 test.txt -d -a 4 test

$ls

test0000 test0001 test0002 test.txt

而且你还可以从指定数字下标开始,使用--numeric-suffixes,例如从0004开始:

$ split --numeric-suffixes=4 test.txt -a 4 -l 2

test.txt x0004 x0005

按照大小拆分

使用-b参数来按照大小来拆分,单位为字节:

$ split-b 10test.txt

当然还可以使用k(千字节),m(兆)。即:

$ split-b 10k test.txt

分割成指定数量文件

使用-n参数即可,比如无论大小,行数,拆分为3个文件:

$ split -n 4test.txt

$ test.txt xaa xab xac xad

其他方法

当然了,打的日志文件可以不用那种创建临时文件打开的方式(如vim打开一个文件会创建一个临时文件),而可以使用类似more,tail等命令查看部分内容。更多查看方式可以参考《Linux常用命令-文本查看篇》。

转载申明:本文转载自公众号 编程珠玑(ID:shouwangxiansheng)

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值