<i id='m70wq'><div id='m70wq'><ins id='m70wq'></ins></div></i>

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

      <code id='m70wq'><strong id='m70wq'></strong></code>
      <span id='m70wq'></span>

      <dl id='m70wq'></dl>

      <fieldset id='m70wq'></fieldset>

        <i id='m70wq'></i>
        <acronym id='m70wq'><em id='m70wq'></em><td id='m70wq'><div id='m70wq'></div></td></acronym><address id='m70wq'><big id='m70wq'><big id='m70wq'></big><legend id='m70wq'></legend></big></address>
        <ins id='m70wq'></ins>

        1. Linux系统下切割文件的split命令用法教程

          • 时间:
          • 浏览:10
          • 来源: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