Linux的split命令详解

前言

最近问题排查时,通过DEBUG模式打印出服务日志到指定文件,最后发现收集的日志文件将近4个G,需要将这个大文件切割成多个小的文件后,才能使用编辑器打开。

split命令

分割任意大小的文件

补充说明

split命令 可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。

命令格式

split [操作大文件的参数] [大文件] [输出文件的可选参数] [输出文件名]

输出文本的可选参数

-b:值为每一输出档案的大小,单位为 byte。
-C:每一输出档中,单行的最大 byte 数。
-d:使用数字作为后缀。
-l:值为每一输出档的行数大小。
-a:指定后缀长度(默认为2)。

举个栗子

生成一个100KB的测试文件

[root@localhost split]# dd if=/dev/zero bs=100k count=1 of=date.file
1+0 records in
1+0 records out
102400 bytes (102 kB) copied, 0.00043 seconds, 238 MB/s

按大小切割文件

  • 分割成大小为10KB的小文件

[root@localhost split]# split -b 10k date.file 
[root@localhost split]# ls
date.file  xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj
  • 分割成大小10KB的指定后缀的小文件

文件被分割成多个带有字母的后缀文件,如果想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度:

[root@localhost split]# split -b 10k date.file -d -a 3
[root@localhost split]# ls
date.file  x000  x001  x002  x003  x004  x005  x006  x007  x008  x009
  • 为分割后的文件指定文件名的前缀

[root@localhost split]# split -b 10k date.file -d -a 3 split_file
[root@localhost split]# ls
date.file  split_file000  split_file001  split_file002  split_file003  split_file004  split_file005  split_file006  split_file007  split_file008  split_file009

按行数切割文件

  • 每100行切割成一个小文件

使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

[root@localhost split]# split -l 100 date.file 
[root@localhost split]# ls
date.file  xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj
  •  每100行切割成一个小文件

使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

[root@localhost split]# split -l 100 date.file 
[root@localhost split]# ls
date.file  xaa  xab  xac  xad  xae  xaf  xag  xah  xai  xaj
  •   每100行切割成一个带有三位数字后缀的小文件

使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

[root@localhost split]# split -l 100 date.file  -d -a 3 temp
[root@localhost split]# ls
date.file  temp000  temp001 temp002 temp003 temp004 temp005 temp006 temp007 temp008 temp009 ...
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洒家肉山大魔王

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值