Skip to content

learn-mac-order #118

@mowatermelon

Description

@mowatermelon

split 指令学习

基础介绍

$ split [-a suffix_length] [-b byte_count[k|m]] [-l line_count] [-p pattern] [file [name]]

$ split -a 2 -b 1024m xx.mp4 xxsplit

$ split -a 5 -b 1024m 拉钩大前端训练营.mp4 xxsplit

按照固定行数或者估计大小分割单个文件,分割完成是没有后缀名的

ls -la
total 26070672
drwxr-xr-x  22 eva  admin         704  1 18 15:19 .
drwxr-xr-x  28 eva  admin         896  1 15 12:58 ..
-rw-r--r--@  1 eva  admin       12292  1 18 15:18 .DS_Store
-rw-r--r--   1 eva  admin  1073741824  1 18 15:19 xxsplitaa
-rw-r--r--   1 eva  admin  1073741824  1 18 15:19 xxsplitaaaaa
-rw-r--r--   1 eva  admin  1073741824  1 18 15:19 xxsplitaaaab
-rw-r--r--   1 eva  admin  1073741824  1 18 15:19 xxsplitaaaac
-rw-r--r--   1 eva  admin  1073741824  1 18 15:19 xxsplitaaaad
-rw-r--r--   1 eva  admin   147749279  1 18 15:19 xxsplitaaaae
-rw-r--r--@  1 eva  admin  4442716575  1 15 00:12 xx.mp4

参数说明

参数表格

参数名 参数值说明 中文含义 参数值举例
a suffix_length 分割默认自增长的序号后缀长度,默认值是 2 5
b byte_count[k or m]] 按照字节大小分割文件,支持 k (KB) 和 m(MB) 两个单位 1024m
l line_count 按照文件行数分割文件 1000
p pattern 满足正则验证的文件才进行分割,注意如果使用 -l 参数,这个参数不起效果
file 待分割的文件名 xxx.mp4
name 分割之后的默认的文件名前缀,默认为原文件名 xxxsplit

比较可惜的是 Linux 下,还支持 -d 让后缀默认按照数字格式进行增长,Mac 上没有

通过 man split 进入说明,按 q 键直接退出

$ man split
SPLIT(1)                  BSD General Commands Manual                 SPLIT(1)

NAME
     split -- split a file into pieces

SYNOPSIS
     split [-a suffix_length] [-b byte_count[k|m]] [-l line_count] [-p pattern] [file [name]]

DESCRIPTION
     The split utility reads the given file and breaks it up into files of 1000 lines each.  If file is a single dash (`-') or absent, split reads from the standard input.

     The options are as follows:

     -a suffix_length
             Use suffix_length letters to form the suffix of the file name.

     -b byte_count[k|m]
             Create smaller files byte_count bytes in length.  If ``k'' is appended to the number, the file is split into byte_count kilobyte pieces.  If ``m'' is appended to the number, the file is split into byte_count megabyte pieces.

     -l line_count
             Create smaller files n lines in length.

     -p pattern
             The file is split whenever an input line matches pattern, which is interpreted as an extended regular expression.  The matching line will be the first line of the next output file.  This option is incompatible with the -b and -l options.

     If additional arguments are specified, the first is used as the name of the input file which is to be split.  If a second additional argument is specified, it is used as a prefix for the names of the files into which the file is split.  In this case, each
     file into which the file is split is named by the prefix followed by a lexically ordered suffix using suffix_length characters in the range ``a-z''.  If -a is not specified, two letters are used as the suffix.

     If the name argument is not specified, the file is split into lexically ordered files named with the prefix ``x'' and with suffixes as above.

ENVIRONMENT
     The LANG, LC_ALL, LC_CTYPE and LC_COLLATE environment variables affect the execution of split as described in environ(7).

EXIT STATUS
     The split utility exits 0 on success, and >0 if an error occurs.

SEE ALSO
     csplit(1), re_format(7)

STANDARDS
     The split utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'').

HISTORY
     A split command appeared in Version 3 AT&T UNIX.

BUGS
     The maximum line length for matching patterns is 65536.

BSD                             August 21, 2005                            BSD

Metadata

Metadata

Assignees

No one assigned

    Labels

    Cheat-Sheet知识速查表,需要后期补全part当前文档只完成了一部分

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions