加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

Linux下split 命令使用详情

发布时间:2022-06-15 11:04:34 所属栏目:教程 来源:互联网
导读:从函数层面上来看是对文件进行切割了,我们可以使用split命令进行文件的很多操作,下现来看几个Linux下split 命令使用例子. 按大小切割,每100M切割:split -b 100m filename 按行数切割,每100w行切割,并带上前缀:split -l10000000 pc.txt i_ 合并:cat x* pc.t
  从函数层面上来看是对文件进行切割了,我们可以使用split命令进行文件的很多操作,下现来看几个Linux下split 命令使用例子.
 
  按大小切割,每100M切割:split -b 100m filename
 
  按行数切割,每100w行切割,并带上前缀:split -l10000000 pc.txt i_
 
  合并:cat x* > pc.txt
 
  split:切割文件
 
  语  法:split [--help][--version][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]
 
  补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件
 
  参 数:
 
  -l<行数>   指定每多少行就要切成一个小文件
 
  -b<字节>   指定每多少字就要切成一个小文件。支持单位:m,k
 
  -C<字节>   与-b参数类似,但切割时尽量维持每行的完整性
 
  ?help   显示帮助
 
  ?version   显示版本信息
 
  [输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号.
 
       实例1、以每个文件20MB分割
 
  分割文件为多个20MB的文件,附带-b选项命令如下:
 
  $ split -b 20M logdata
 
  $ ls -lh | tail -n +2
 
  -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
 
  -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xaa
 
  -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xab
 
  -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xac

  -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xad
 
  //phpfensi.com
 
  -rw------- 1 sathiya sathiya  20M Jul 25 19:20 xae

  -rw------- 1 sathiya sathiya 1.6M Jul 25 19:20 xaf
 
  实例2、以每个文件50MB指定前缀分割
 
  使用--bytes选项把文件分割成多个50MB的文件,--bytes类似-b选项,在第二个参数指定前缀.
 
  $ split --bytes=50M logdata mydatafile
 
  $ ls -lh
 
  total 204M

  -rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata
 
  -rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileaa
 
  -rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileab

  -rw------- 1 sathiya sathiya 1.6M Jul 25 19:23 mydatafileac

  实例3、以每个文件1000行分割
 
  split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab,[前缀]ac等,默认的前缀是X,每个文件的行数为1000行,命令如下:
 
  $ split mylog
 
  $ wc -l *
 
       4450 mylog
 
       1000 xaa
 
       1000 xab
 
       1000 xac
 
       1000 xad
 
        450 xae
 
  实例4、基于行数分割文件
 
  使用-l选项指定行数来把文件分割成多个行数相同的文件.
 
  $ wc -l testfile
 
  2591 testfile
 
  $ split -l 1500 testfile importantlog
 
  $ wc -l *
 
    1500 importantlogaa
 
    1091 importantlogab
 
    2591 testfile
 
  实例5、以数字后缀命名分割文件
 
  使用-d选项可以指定后缀为数字,如00,01,02..,而不是aa,ab,ac.
 
  $ split -d testfile
 
  $ ls
 
  testfile  x00  x01  x02
 
  可用选项
 
  短选项 长选项 选项描述
 
  -b --bytes=SIZE SIZE 值为每一输出档案的大小,单位为 byte。
 
  -C --line-bytes=SIZE 每一输出档中,单行的最大 byte 数。
 
  -d --numeric-suffixes 使用数字作为后缀。
 
  -l --lines=NUMBER NUMBER 值为每一输出档的列数大小。
 
  合并cat使用方法
 
  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。
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读