加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux下split 命令使用说明

发布时间:2023-07-29 12:47:47 所属栏目:Linux 来源:
导读:从函数层面上来看是对文件进行切割了,我们可以使用split命令进行文件的很多操作,下现来看几个Linux下split 命令使用例子.按大小切割,每100M切割:split -b 100m filename按行数切割,每100w行切割,并带上前缀:split -l

从函数层面上来看是对文件进行切割了,我们可以使用split命令进行文件的很多操作,下现来看几个Linux下split 命令使用例子.

按大小切割,每100M切割:split -b 100m filename

按行数切割,每100w行切割,并带上前缀:split -l10000000 pc.txt i_

合并:cat x* > pc.txt

split:切割文件

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

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

参 数:

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

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

-C<字节> 与-b参数类似,但切割时尽量维持每行的完整性

?help 显示帮助

?version 显示版本信息

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

实例1、以每个文件1000行分割

split命令分割文件成每个文件1000行,并且文件名依次为 [前缀]aa,[前缀]ab,[前缀]ac等,默认的前缀是X,每个文件的行数为1000行,命令如下:

$ split mylog 

$ wc -l * 

     4450 mylog 

     1000 xaa 

     1000 xab 

     1000 xac 

     1000 xad 

      450 xae 

实例2、以每个文件20MB分割

分割文件为多个20MB的文件,附带-b选项命令如下:

$ split -b 20M logdata 

$ ls -lh | tail -n +2 

-rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata 

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xaa 

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xab 

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xac 

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xad 

//Cuoxin.com 

-rw------- 1 sathiya sathiya  20M Jul 25 19:20 xae 

-rw------- 1 sathiya sathiya 1.6M Jul 25 19:20 xaf 

实例3、以每个文件50MB指定前缀分割

使用--bytes选项把文件分割成多个50MB的文件,--bytes类似-b选项,在第二个参数指定前缀.

$ split --bytes=50M logdata mydatafile 

$ ls -lh 

total 204M 

-rw------- 1 sathiya sathiya 102M Jul 25 18:47 logdata 

-rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileaa 

-rw------- 1 sathiya sathiya  50M Jul 25 19:23 mydatafileab 

-rw------- 1 sathiya sathiya 1.6M Jul 25 19:23 mydatafileac 

实例4、基于行数分割文件

使用-l选项指定行数来把文件分割成多个行数相同的文件.

$ wc -l testfile 

2591 testfile 

$ split -l 1500 testfile importantlog 

$ wc -l * 

  1500 importantlogaa 

  1091 importantlogab 

  2591 testfile 

实例5、以数字后缀命名分割文件

使用-d选项可以指定后缀为数字,如00,01,02..,而不是aa,ab,ac.

$ split -d testfile 

$ ls 

testfile  x00  x01  x02 

可用选项

短选项 长选项 选项描述

-b --bytes=SIZE SIZE 值为每一输出档案的大小,单位为 byte。

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

-d --numeric-suffixes 使用数字作为后缀。

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

合并cat使用方法

cat命令

语法:cat [-AbeEnstTuv] [--help] [--version] fileName

-n 或 ?number 由 1 开始对所有输出的行数编号

-b 或 ?number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 ?squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 ?show-nonprinting

#cat常用功能 

#一次显示整个文件 

cat   filename 

#创建一个文件,只能创建新文件,不能编辑已有文件 

cat  &gt;  filename 

#将几个文件合并为一个文件。 

cat   file1   file2  &gt; file 

所以上面的示例中将分割文件合并,可以使用:

#合并 

cat a.tar.gz.* &gt; a.tar.gz 

#合并并解压 

cat a.tar.gz.*  | tar -zxv

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章