zhaolu 发表于 2018-8-28 13:03:18

split 命令--用shell 切分文件

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

[*]  split [-bl] file
  
  参数说明:
  -b, --bytes=SIZE:对file进行切分,每个小文件大小为SIZE。可以指定单位b,k,m。
  -l, --lines=NUMBER:对file进行切分,每个文件有NUMBER行。
  prefix:分割后产生的文件名前缀。
  
  示例:
  假设要切分的文件为test.2012-08-16_17,大小1.2M,12081行。
  1)
   view plaincopy

[*]  split -l 5000 test.2012-08-16_17
  生成xaa,xab,xac三个文件。
  wc -l 看到三个文件行数如下:
  5000 xaa
  5000 xab
  2081 xac
  12081 总计
  2)
   view plaincopy

[*]  split -b 600k test.2012-08-16_17
  生成xaa,xab两个文件
  ls -lh 看到 两个文件大小如下:
  600K xaa
  554K xab
  3)
   view plaincopy

[*]  split -b 500k test.2012-08-16_17 example
  得到三个文件,文件名的前缀都是example
  ls -lh 看到文件信息如下:
  500K exampleaa
  500K exampleab
  154K exampleac

页: [1]
查看完整版本: split 命令--用shell 切分文件