split用来将大文件分割成小文件。有时文件越来越大,传送这些文件时,首先将其分割可能更容易。使用v i或其他工具诸如s o r t时,如果文件对于工作缓冲区太大,也会存在一些问题。 因此有时没有选择余地,必须将文件分割成小的碎片。 split命令一般格式:
split -output_file-size input-filename output-filename 这里o u t p u t - f i l e - s i z e指的是文本文件被分割的行数。 split查看文件时,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行:
[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
[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行:
[sam@chenwy split]$ cat split1 this is line1 this is line2 this is line3 this is line4 this is line5 this is line6 按每个文件1行分割,命令为:
[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行,split按每个文件1行进行了分割,并按字母顺序命名文件。为进一步确信操作成功,观察一个新文件内容:
[sam@chenwy split]$ cat xaa this is line1 [sam@chenwy split]$ cat xaf this is line6
|