zoukankan      html  css  js  c++  java
  • linux文件分割(将大的日志文件分割成小的)【转载】

    linux文件分割(将大的日志文件分割成小的)
    linux下文件分割可以通过split命令来实现,可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。

    在Linux下用split进行文件分割:
    
    模式一:指定分割后文件行数
    
    对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。
    
    命令:split -l 300 large_file.txt new_file_prefix
    
    模式二:指定分割后文件大小
    
    split -b 10m server.log waynelog

    对二进制文件我们同样也可以按文件大小来分隔。

    在Linux下用cat进行文件合并:

    命令:cat small_files* > large_file

    split

    语法:split [--help][--version][-][-l][-b][-C][-d][-a][要切割的文件][输出文件名]

    --version 显示版本信息

    - 或者-l,指定每多少行切割一次,用于文本文件分割

    -b 指定切割文件大小,单位m或k

    -C 与-b类似,但尽量维持每行完整性

    -d 使用数字而不是字母作为后缀名

    -a 指定后缀名的长度,默认为2位

    示例1

    将a.tar.gz包按每个5M大小切割

    split -b 5m a.tar.gz a.tar.gz.

    后面输出的文件名a.tar.gz. 不指定的话会以xaa,xab,xac形式输出,文件名后面不加". ", 输出文件名会和后缀连在一起而不直观

    示例2

    使用| 管道将打包分割动作合并

    tar -zcf - a | split -b 5m - a.tar.gz.

    注意管道前后两个没带参数的“-”是不能省略的,他作为tar的ouput和split的input的参数

    cat

    语法:cat [-AbeEnstTuv] [--help] [--version] fileName

    -n 或 –number 由 1 开始对所有输出的行数编号

    -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号

    -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

    -v 或 –show-nonprinting

    #cat常用功能
    
    #一次显示整个文件
    cat   filename
    
    #创建一个文件,只能创建新文件,不能编辑已有文件
    cat  >  filename
    
    #将几个文件合并为一个文件。
    cat   file1   file2  > file

    所以上面的示例中将分割文件合并,可以使用

    #合并
    cat a.tar.gz.* > a.tar.gz
    
    #合并并解压
    cat a.tar.gz.*  | tar -zxv

    转自:linux文件分割(将大的日志文件分割成小的) - waynechen - 博客园
    http://www.cnblogs.com/waynechen/archive/2010/07/26/1785097.html

    Linux 大文件分割split和合并cat使用方法 – E-zencart,一起进步 http://www.ezencart.com/pages/1001.html

     
  • 相关阅读:
    struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)
    request 中文乱码问题
    Eclipse 支持jQuery 自动提示
    基于按annotation的hibernate主键生成策略
    微信创建菜单操作
    百度转换经纬度为地址
    微信工具类(常用接口)的整理
    微信URL有效性验证
    原型模式 (原型管理器)
    发送邮件 Email(java实现)
  • 原文地址:https://www.cnblogs.com/paul8339/p/5127771.html
Copyright © 2011-2022 走看看