全部博文(368)
分类: LINUX
2010-04-23 14:58:05
s p l i t用来将大文件分割成小文件。有时文件越来越大,传送这些文件时,首先将其分割可能更容易。使用v i或其他工具诸如s o r t时,如果文件对于工作缓冲区太大,也会存在一些问题。
因此有时没有选择余地,必须将文件分割成小的碎片。
s p l i t命令一般格式:
CODE:
split
-output_file-size input-filename output-filename
这里o u t p u t - f i l e
- s i z e指的是文本文件被分割的行数。-b表示分割后每个文件的字节数!
s p l i t查看文件时,o
u t p u t - f i l e - s i z e选项指定将文件按每个最多1 0 0 0行分割。如果有个文件有38行,那么将分割成3个文件,分别有
10、10、10、8行。每个文件格式为x [ a a ]到x [ z z ],x为文件名首字母, [ a a ]、[ z z ]为文件名剩余部分顺序字符组合,下面的例子解释这一点。
如passwd有38行:
CODE:
[sam@chenwy split]$
ls -l
总用量 8
-rw-r--r-- 1 sam sam
1649 12月 4 11:13 passwd
-rw-rw-r-- 1 sam sam
84 12月 4 11:19 split1
CODE:
[sam@chenwy split]$
split -10 passwd
[sam@chenwy split]$ ls -l
总用量 24
-rw-r--r-- 1 sam sam
1649 12月 4 11:13 passwd
-rw-rw-r-- 1 sam sam
84 12月 4 11:19 split1
-rw-rw-r-- 1 sam sam
368 12月 4 11:24 xaa
-rw-rw-r-- 1 sam sam
474 12月 4 11:24 xab
-rw-rw-r-- 1 sam sam
495 12月 4 11:24 xac
-rw-rw-r-- 1 sam sam
312 12月 4 11:24 xad
生成了四个文件,前三个文件每个文件10行,最后一个8行,分割分的文件名自动产生,格式为x[a-a][z-z]
再如split有6行:
CODE:
[sam@chenwy split]$
cat split1
this is line1
this is line2
this is line3
this is line4
this is line5
this is line6
按每个文件1行分割,命令为:
CODE:
[sam@chenwy split]$
split -1 split1
[sam@chenwy split]$ ls -l
总用量 32
-rw-r--r-- 1 sam sam
1649 12月 4 11:13 passwd
-rw-rw-r-- 1 sam sam
84 12月 4 11:19 split1
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xaa
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xab
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xac
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xad
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xae
-rw-rw-r-- 1 sam sam
14 12月 4 11:25 xaf
文件有6行,s p l i t按每个文件1行进行了分割,并按字母顺序命名文件。为进一步确信操作成功,观察一个新文件内容:
CODE:
[sam@chenwy split]$
cat xaa
this is line1
[sam@chenwy split]$ cat xaf
this is line6