1 | split
|
2 | ===
|
3 |
|
4 | 分割任意大小的文件
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | **split命令** 可以将一个大文件分割成很多个小文件,有时需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
|
9 |
|
10 | ### 选项
|
11 |
|
12 | ```shell
|
13 | -b:值为每一输出档案的大小,单位为 byte。
|
14 | -C:每一输出档中,单行的最大 byte 数。
|
15 | -d:使用数字作为后缀。
|
16 | -l:值为每一输出档的行数大小。
|
17 | -a:指定后缀长度(默认为2)。
|
18 | ```
|
19 |
|
20 | ### 实例
|
21 |
|
22 | 生成一个大小为100KB的测试文件:
|
23 |
|
24 | ```shell
|
25 | [root@localhost split]# dd if=/dev/zero bs=100k count=1 of=date.file
|
26 | 1+0 records in
|
27 | 1+0 records out
|
28 | 102400 bytes (102 kB) copied, 0.00043 seconds, 238 MB/s
|
29 | ```
|
30 |
|
31 | 使用split命令将上面创建的date.file文件分割成大小为10KB的小文件:
|
32 |
|
33 | ```shell
|
34 | [root@localhost split]# split -b 10k date.file
|
35 | [root@localhost split]# ls
|
36 | date.file xaa xab xac xad xae xaf xag xah xai xaj
|
37 | ```
|
38 |
|
39 | 文件被分割成多个带有字母的后缀文件,如果想用数字后缀可使用-d参数,同时可以使用-a length来指定后缀的长度:
|
40 |
|
41 | ```shell
|
42 | [root@localhost split]# split -b 10k date.file -d -a 3
|
43 | [root@localhost split]# ls
|
44 | date.file x000 x001 x002 x003 x004 x005 x006 x007 x008 x009
|
45 | ```
|
46 |
|
47 | 为分割后的文件指定文件名的前缀:
|
48 |
|
49 | ```shell
|
50 | [root@localhost split]# split -b 10k date.file -d -a 3 split_file
|
51 | [root@localhost split]# ls
|
52 | date.file split_file000 split_file001 split_file002 split_file003 split_file004 split_file005 split_file006 split_file007 split_file008 split_file009
|
53 | ```
|
54 |
|
55 | 使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:
|
56 |
|
57 | ```shell
|
58 | split -l 10 date.file
|
59 | ```
|
60 |
|
61 |
|
62 |
|