linux split命令


分区命令: split

回到顶部
split可以将一个大文件,依据文件大小或行数来分区,就可以将大文件分区成为小文件了!
如果你有文件太大,导致一些携带式装置无法复制的问题,就可以先用split将大文件分割成多个小文件。
[peter@study ~]$ split [-bl] file PREFIX
选项与参数:
-b :后面可接欲分区成的文件大小,可加单位,例如 b, k, m 等;
-l :以行数来进行分区。
PREFIX :代表前导符的意思,可作为分区文件的前导文字。
/etc/services文件有六百多K,若想要分成300K一个文件时:
[peter@study ~]$ cd /tmp; split -b 300k /etc/services services [peter@study tmp]$ ll -k services* -rw-rw-r--. 1 peter peter 307200 Jul 9 22:52 servicesaa -rw-rw-r--. 1 peter peter 307200 Jul 9 22:52 servicesab -rw-rw-r--. 1 peter peter 9 22:52 servicesac 55893 Jul
文件名可以随意指定!只要写上前导文字,小文件就会以xxxaa, xxxab, xxxac等方式来建立小文件的!
将上面的三个小文件合成一个文件,档名为 servicesback:
[peter@study tmp]$ cat services* >> servicesback
就用数据流重导向就好啦!简单!
使用ls -al /输出的信息中,每十行记录成一个文件
[peter@study tmp]$ ls -al / | split -l 10 - lsroot
[peter@study tmp]$ wc -l lsroot*
10 lsrootaa
10 lsrootab
4 lsrootac
24 total
重点在那个-!一般来说,如果需要 stdout/stdin 时,但偏偏又没有文件,有的只是 - 时,那么那个 - 就会被当成 stdin 或 stdout ~
在 Windows 操作系统下,你要将文件分区需要如何作?伤脑筋吧!在 Linux 底下就简单的多了!
你要将文件分区的话,那么就使用 -b size 来将一个分区的文件限制其大小,如果是行数的话, 那么就使用-l line 来分区!这样就可以轻易的将你的文件分区成某些软件能够支持的最大容量(例如 gmail 单一信件 25MB 之类的!),方便copy!

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读