进行大文件的分片操作(split),合并(cat/copy)

进行大文件的分片操作(split),合并(cat/copy)

  • 由于工作的需要,当我们的系统产生了超过内存的日志文件时,当我们使用工具对文件进行读取数据时,会直接报异常,无法进行读取.所以我们要前置的对文件进行分片操作.split(linux命令)在windows中最好前置下载个cmder进行操作.
  • 进入cmder,切换到需要分割的文件地址

  • 可以看到这个文件有1.8g;这个文件如果要直接使用文件打开的话,直接就会报错.

  • 使用split 命令,按照每个文件51200kb的大小进行解析,默认前缀为"wx.log.","-d"代表后面跟的数字00开始自增
split -b 51200k -d wx.log wx.log.
split [-b ][-C ][-][-l][-d][要切割的文件][输出文件名前缀][-a ]

-b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
-<行数>或-l<行数>:指定每多少行要拆分成一个文件。
输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
-a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。
-d : 后缀使用数字自增

  • 分割好了,就可以进行单文件读取了.
  • 当我们想要合并数据的时候,由于前缀都一样,只是后缀不一样的了.
  • 我们可以使用cat(linux)或copy(windows)来进行合并
cat wx.log.* > wx_new.log
copy wx.log.*  wx_new.log

  • 最后校验一下文件的完整性是否一致,可以看到md5值是相同的.
md5sum [文件名]

posted @ 2019-04-30 15:15  lisongyu  阅读(4593)  评论(0编辑  收藏  举报