美文网首页
Linux命令日日说(二十七)-- split

Linux命令日日说(二十七)-- split

作者: spt_genius | 来源:发表于2020-04-11 12:29 被阅读0次

split


语法

split [options] infile [outfile]

分割大文件成若干个小文件,这对于数据分析来说很有用。


参数

  • -a | --suffinx-length=N 生成长度为N的后缀(默认值2)。

  • --additional-suffix=SUFFIX 在文件名后面附加一个后缀。

  • -b | --bytes=SIZE 按指定的字节数量分割文件。

  • -C | --line-bytes=SIZE 按行为单位,能放入最多的字节数分割。

  • -d 使用从0开始的数字后缀,而不是字母后缀。

  • --numeric-suffixes[=FROM] 与-d相同,但允许设置起始值。

  • -x 使用从0开始的十六进制后缀,而不是按字母顺序。

  • --hex-suffixes[=FROM] 与-x相同,但允许设置起始值。

  • -e 不生成带有'-n'的空输出文件。

  • -l | --lines=NUMBER 为每个输出文件放置编号行/记录。

  • -n | --number=CHUNKS 按块的方式分割。

  • -t | --separator=SEP 使用SEP而不是newline作为记录分隔符;\0代表NUL字符。

  • -u | --unbuffered 立即用'-n r/..'将输入复制到输出。

  • --verbose 显示操作详细信息。


Example

  • split -5 -a 5 file1 file1split

    分割file1内容,5行一个文件,后缀名标注为5位即-aaaaa-aaaab两个后缀。

    root@5ca8dbe55d8d:/# split -5 -a 5 file1 file1split
    root@5ca8dbe55d8d:/# ls
    file1  file1splitaaaaa  file1splitaaaab
    root@5ca8dbe55d8d:/# cat file1splitaaaaa
    line1
    line2
    line3
    
    line4
    root@5ca8dbe55d8d:/# cat file1splitaaaab
    line5
    
  • split -5 --additional-suffix=awsome file1 file1split

    添加文件名后缀。

    root@5ca8dbe55d8d:/test# split -5 --additional-suffix=awsome file1 file1split
    root@5ca8dbe55d8d:/test# ls
    file1  file1splitaaawsome  file1splitabawsome
    
  • split -b 10 file1

    每10个字节分割文件。

    root@5ca8dbe55d8d:/test# split -b 10 file1
    root@5ca8dbe55d8d:/test# ls
    file1  xaa  xab  xac  xad
    root@5ca8dbe55d8d:/test# cat xaa
    line1
    lineroot
    
  • split -C 10 file1

    按行分割。

    root@5ca8dbe55d8d:/test# split -C 10 file1
    root@5ca8dbe55d8d:/test# ls
    file1  xaa  xab  xac  xad  xae
    root@5ca8dbe55d8d:/test# cat xaa
    line1
    
  • split -5 -d file1 file1split

    -d使用数字命名。

    root@5ca8dbe55d8d:/test# split -5 -d file1 file1split
    root@5ca8dbe55d8d:/test# ls
    file1  file1split00  file1split01
    root@5ca8dbe55d8d:/test# split -5 -d --numeric-suffixes=10 file1 file1split
    root@5ca8dbe55d8d:/test# ls
    file1  file1split10  file1split11
    
  • split -b 2 -x file1 file1split

    -x分割后十六进制命名。

    root@5ca8dbe55d8d:/test# split -b 2 -x file1 file1split
    root@5ca8dbe55d8d:/test# ls
    file1         file1split01  file1split03  file1split05  file1split07  file1split09  file1split0b  file1split0d  file1split0f
    file1split00  file1split02  file1split04  file1split06  file1split08  file1split0a  file1split0c  file1split0e
    root@5ca8dbe55d8d:/test# split -b 2 -x --hex-suffixes=10 file1 file1split
    root@5ca8dbe55d8d:/test# ls
    file1         file1split11  file1split13  file1split15  file1split17  file1split19  file1split1b  file1split1d  file1split1f
    file1split10  file1split12  file1split14  file1split16  file1split18  file1split1a  file1split1c  file1split1e
    
  • split -n 3 file1

    将文分成3块。

    root@5ca8dbe55d8d:/test# split -n 3 file1
    root@5ca8dbe55d8d:/test# ls
    file1  xaa  xab  xac
    
  • split -5 --verbose file1

    分割信息。

    root@5ca8dbe55d8d:/test# split -5 --verbose file1
    creating file 'xaa'
    creating file 'xab'
    

相关文章

网友评论

      本文标题:Linux命令日日说(二十七)-- split

      本文链接:https://www.haomeiwen.com/subject/lrifmhtx.html