<ins id='wbv0'></ins>
    <dl id='wbv0'></dl>

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

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

          <code id='wbv0'><strong id='wbv0'></strong></code>

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

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