用shell切分文件--split

2020-12-07 15:27:54 浏览数 (1)

有个文件要处理,因为很大,所以想把它切成若干份,每份N行,以便并行处理。怎么搞呢?查了下强大的shell,果然有现成的工具--split。 下面记录下基本用法:

代码语言:javascript复制
split [-bl] file [prefix]

参数说明: -b, --bytes=SIZE :对 file 进行切分,每个小文件大小为 SIZE 。可以指定单位 b,k,m 。 -l, --lines=NUMBER :对 file 进行切分,每个文件有 NUMBER 行。

prefix:分割后产生的文件名前缀。

示例:

假设要切分的文件为test.2012-08-16_17,大小1.2M,12081行。

1)

代码语言:javascript复制
split -l 5000 test.2012-08-16_17

生成 xaa , xab , xac 三个文件。 wc -l  看到三个文件行数如下: 5000 xaa 5000 xab 2081 xac

12081 总计

2)

代码语言:javascript复制
split -b 600k test.2012-08-16_17

生成 xaa , xab 两个文件 ls -lh  看到 两个文件大小如下: 600K xaa

554K xab

3)

代码语言:javascript复制
split -b 500k test.2012-08-16_17 example

得到三个文件,文件名的前缀都是 example ls -lh  看到文件信息如下: 500K exampleaa 500K exampleab 154K exampleac

0 人点赞