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 

sed命令参考: https://www.daimajiaoliu.com/series/linux_command/47945d4de100401
 

 

给TA打赏
共{{data.count}}人
人已打赏
安全技术安全运维

Windows服务器如何发现被黑

2018-5-20 12:24:31

安全技术

用node.js做cluster,监听异常的邮件提醒服务

2021-12-21 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索