linux大文件分割 split命令

linux split 命令

  功能说明:切割文件。

  语  法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名] 【前缀】

  补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件。

  参  数:

  -<行数>或-l<行数>  指定每多少行就要切成一个小文件。

  -b<字节>  指定每多少字就要切成一个小文件。支持单位:m,k

  -C<字节>  与-b参数类似,但切割时尽量维持每行的完整性。(这个比较有用,特别是在分割大Sql文件时,如果‘ you ‘

被分割成‘yo 和u‘,那么cat后运行还是错误。

  --help  显示帮助。

  --version  显示版本信息。

  [输出文件名]  设置切割后文件的前置文件名,split会自动在前置文件名后再加上编号。

  使用例子:

  split -b 100m filename

把文件分成100m的文件。

split  -b  20m  gkdb.db   gkdb_pack_

gkdb_pack_是每个小文件的前缀。

1.文件切割

文件切割模式分为两种:

文本文件

二进制模式。

1.1文本模式

文本模式只适用于文本文件,用这种模式切割后的每个文件都是可读的。文本模式又分为两种:

按最大文件大小切割;

按文本行数切割。

1.1.1最大文件大小切割

split -C 5k duanxin split

将文本文件duanxin按每块最大5k的大小进行切割,不打碎行。输出文件名类似splitaa, splitab……

split -b 5k duanxin split

每个分块(当然,最后一个不保证)大小都是5k,可能会打碎行。

1.1.2 按文本行数切割

split -l 100 duanxin split

每个分块100行,不考虑大小。日志分析时应该有用。

1.2 二进制模式

split -b 5k duanxin split

每个分块(当然,最后一个不保证)大小都是5k,基本不可读。任何类型文件都可以用这种切割模式。

2.文件合并

cat split* >newduanxin

不管用什么方式切割,合并方法不变。

3.其它

split可以用-a选项指定输出文件名的长度。如

split -l 100 -a 3 duanxin split

则输出文件出类似于splitaaa,splitaab。不指定时默认为2。

用-b或-C指定分块大小时,可用的单位有,b for 512bytes, k for 1Kbytes, m for 1 Megbytes.

split 参数:

-a, --suffix-length=N   指定输出文件名的后缀,默认为2个

-b, --bytes=SIZE        指定输出文件的字节数

-C, --line-bytes=SIZE  每一输出档中,单行的最大 byte 数

-d, --numeric-suffixes  使用数字代替字母做后缀

-l, --lines=NUMBER    NUMBER 值为每一输出档的列数大小

grep介绍   (1)grep 的一般格式为 grep [options] 基本正则表达式 [文件] 
      字符串参数最好采用是双引号括,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串 
      -c:只输出匹配行的记数 
      -i:不区分大小写(只适用于单个字符) 
      -h:查询多个文件时不显示文件名 
      -H:只显示文件名 
      -l:查询多文件时只输出包含匹配字符的文件名 
      -n:只显示匹配行及其行号 
      -s:不显示不存在或无匹配文本的错误信息。 
      -v:显示不包含匹配文本的所有行。 
  (2)举例说明: 
      grep ^[^210] myfile 匹配myfile中以非2、1、0开头的行

如何删除文件指定行:

sed

“p” command prints the buffer (remember to use -n option with “p”) 
“d” command is just opposite, its for deletion. ‘d’ will delete the pattern space buffer and immediately starts the next cycle.

:删除从第4行到第8行 
$sed 4,8d thegeekstuff.txt

linux大文件分割 split命令

时间: 2024-11-01 02:29:14

linux大文件分割 split命令的相关文章

Linux大文件分割split和合并cat使用方法

本文主要介绍linux下两个命令:split和cat.其中,相信大家都熟悉cat命令,一般用来查看一个文件的内容,但是它还其它的功能,比如这里要介绍的文件合并功能,它可把多个文件内容合并到一个文件中.从split词义不拿理解,其为分割之意,常用于分割大文件.下面详细介绍. split命令 — 分割文件 语法:split [–help][–version][-][-l][-b][-C][-d][-a][要切割的文件][输出文件名] –version 显示版本信息 – 或者-l,指定每多少行切割一次

Linux 大文件的分割与合并

1.分割 -- split命令 可以指定按行数分割和按字节大小分割两种模式. (1) 按行数分割 $ split -l 300 large_file.txt new_file_prefix 加上-d,使用数字后缀:加上--verbose,显示分割进度: $ split -l50000 -d large_file.txt part_ --verbose (2) 按字节大小分割 $ split -b 10m large_file.log new_file_prefix 2.合并 -- cat命令 $

大文件分割之Linux

1.分割 -- split命令 可以指定按行数分割和按字节大小分割两种模式. (1) 按行数分割 $ split -l 300 large_file.txt new_file_prefix 加上-d,使用数字后缀:加上--verbose,显示分割进度: $ split -l50000 -d large_file.txt part_ --verbose (2) 按字节大小分割 $ split -b 10m large_file.log new_file_prefix 2.合并 -- cat命令 $

c#大文件分割过程

需求: 在项目开发中,我们会遇到单个文件大小超过1TB的文件,这样的文件只能进行单文件读取,往往会造成读取完成耗时过长,导致客户在使用体验过程中不满意. 为了解决提升大文件的解析速度,我想到了先分割大文件为小文件,之后进行并行多个文件同时解析入库方案. 那么,怎么才可以把一个大文件分割为多个小文件呢? 如果我按照大小来控制分割出来的小文件,会造成文件的丢失问题,如果按照行数来分割,一行一行进行读取务必会造成分割文件耗时过长. 讨论:如果一个1TB的文件,我们按照大小来控制文件个数,假设每个分割出

linux之tr和split命令

tr用于替换字符,常用来处理文档中出现的特殊符号. -s  : 把重复的字符去掉. -d :删除某个自负,-d后跟要删除的字符. [[email protected] ~]# echo "1121111"|tr -d 2 111111 常用的大小写转换: tr 'a-z' 'A-Z' [[email protected] ~]# echo "asdasdasf" |tr 'a' 'A' AsdAsdAsf 也可以替换一个字符: tr 'a' 'A' linux之tr

android下大文件分割上传

由于android自身的原因,对大文件(如影视频文件)的操作很容易造成OOM,即:Dalvik堆内存溢出,利用文件分割将大文件分割为小文件可以解决问题. 文件分割后分多次请求服务. 1 //文件分割上传 2 public void cutFileUpload(String fileType,String filePath) 3 { 4 try 5 { 6 FileAccessI fileAccessI = new FileAccessI(filePath, 0); 7 Long nStartPo

日志解析(四) 大文件分割

将百兆大文件分割成几十M的小文件,按大小进行分割 package com.fenge; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException; public class fenge {    public static f

Linux/Unix split 大文件分割合并

split 命令 功能说明:切割文件. 语 法:split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名] 补充说明:split可将文件切成较小的文件,预设每1000行会切成一个小文件. 参 数: -<行数>或-l<行数> 指定每多少行就要切成一个小文件. -b <字节> 指定每多少字就要切成一个小文件.支持单位:m,k -C <

Linux中文件操作的命令

下面是对linux命令中,对文件的操作的总结. 1. cut cut命令用于显示每行从开头算起 num1 到 num2 的文字.即,截取指定字段并输出. cut [-bcdnf] [file] -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志. -c :以字符为单位进行分割. -d :自定义分隔符,默认为制表符. -f :与-d一起使用,指定显示哪个区域. -n :取消分割多字节字符.仅和 -b 标志一起使用.如果字符的最后一个字节落在由 -b 标志的 L