用shell切分文件--split

问题:

        最近在做一个接口,日志记录接口停用时的数据,当日志文件过大,读取日志修补数据时会出现Read Rimeout。此时需要将linux上的日志文件切分成小文件。因为很大,所以想把它切成若干份,每份N行,以便并行处理。

shell现成的工具--split。

语法:

       split [-bl] file [prefix]

说明:

      -b, --bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。
       -l, --lines=NUMBER:对file进行切分,每个文件有NUMBER行。
       prefix:分割后产生的文件名前缀。

示例:

假设要切分的文件为test.2018-09-10_17,大小1.2M,12000行。

1)

split -l 5000 test.2018-09-10_17

生成xaa,xab,xac三个文件。
wc -l 看到三个文件行数如下:
5000 xaa
5000 xab
2000 xac

12000 总计

 

2)

split -b 600k test.2018-09-10_17

生成xaa,xab两个文件
ls -lh 看到 两个文件大小如下:
600K xaa

554K xab

 

3)

split -b 500k test.2018-09-10_17 example

得到三个文件,文件名的前缀都是example
ls -lh 看到文件信息如下:
500K exampleaa
500K exampleab
154K exampleac

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值