<i id='2ywue'><div id='2ywue'><ins id='2ywue'></ins></div></i>

    <code id='2ywue'><strong id='2ywue'></strong></code>

    1. <dl id='2ywue'></dl>

        <span id='2ywue'></span>

          <i id='2ywue'></i>
          <ins id='2ywue'></ins>

          1. <tr id='2ywue'><strong id='2ywue'></strong><small id='2ywue'></small><button id='2ywue'></button><li id='2ywue'><noscript id='2ywue'><big id='2ywue'></big><dt id='2ywue'></dt></noscript></li></tr><ol id='2ywue'><table id='2ywue'><blockquote id='2ywue'><tbody id='2ywue'></tbody></blockquote></table></ol><u id='2ywue'></u><kbd id='2ywue'><kbd id='2ywue'></kbd></kbd>

          2. <acronym id='2ywue'><em id='2ywue'></em><td id='2ywue'><div id='2ywue'></div></td></acronym><address id='2ywue'><big id='2ywue'><big id='2ywue'></big><legend id='2ywue'></legend></big></address>

            <fieldset id='2ywue'></fieldset>

            Linux系统下切割文件的split命令用法

            • 时间:
            • 浏览:8
            • 来源:124软件资讯网

                你曾经是否想要把一个大文件支解成多个小文件?好比一个5gb日志文件  ,我们需要把它分成多个小文件  ,这样我们才有可能使用通俗的文本编辑器读取它  。有时我们需要传输20gb的大文件到另一台服务器  ,这就需要我们把它支解成多个文件  ,这样便于传输数据  。下面我们来解说使用split下令来切割文件的要领  。

                复制代码

                代码如下:

                [root@localhost database]# ls -lh gkdb.db

                -r--r--r-- 1 root root 411M Jul 23 17:20 gkdb.db

                将将这个276M文件支解成20M的小文件  ,文件支解操作如下:

                复制代码

                代码如下:

                [root@localhost database]# split -b 20m gkdb.db gkdb_pack_

                split 是命今  。

                -B 20M 是指将每个分卷文件最大20M  。

                gkdb.db 需要支解的文件 。

                gkdb_pack_ 是指支解后的文件开头  , 支解后后的文件名一样平常为 gkdb_pack_aa、gkdb_pack_ab、gkdb_pack_ac依次类推  。

                显示支解后的文件名及巨细

                复制代码

                代码如下:

                [root@localhost database]# ll -lh gkdb_pack_a*

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_aa

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ab

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ac

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ad

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ae

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_af

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ag

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ah

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ai

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_aj

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ak

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_al

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_am

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_an

                -rw-r--r-- 1 root root 20M Jul 27 16:09 gkdb_pack_ao

                -rw-r--r-- 1 root root 20M Jul 27 16:10 gkdb_pack_ap

                -rw-r--r-- 1 root root 20M Jul 27 16:10 gkdb_pack_aq

                -rw-r--r-- 1 root root 20M Jul 27 16:10 gkdb_pack_ar

                -rw-r--r-- 1 root root 20M Jul 27 16:10 gkdb_pack_as

                -rw-r--r-- 1 root root 20M Jul 27 16:10 gkdb_pack_at

                -rw-r--r-- 1 root root 11M Jul 27 16:10 gkdb_pack_au

                最下面的谁人文件是剩余的文件 。 20*20+11=411MB

                合并文件

                复制代码

                代码如下:

                [root@localhost database]# cat gkdb_pack_*>gkdb.tar.gz

                组装前和组装后的MD5值都是一样的  ,不信的话可以使用md5sum下令来检测一下  。

                若是要支解的是一个文本文件  ,好比有好几千行 ,固然每行的字符数是不等的  ,想要以行数为支解 ,好比每100行天生1个文件 ,只需要 -l 参数  ,如下:

                复制代码

                代码如下:

                [root@pps public_rw]# split -l 100 test.txt

                实在 ,若是不加任何参数 ,默认情形下是以1000行巨细来支解的 。

                实例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

                -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