小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
在Linux系统下,有时因为网络传输的限制,我们需要将大文件切割成若干小文件进行传输,传输完成后再进行合并。
文件切割
使用split命令实现对大文件的切割。
语法格式
split [-<行数>][-a][-b <字节>][-C <字节>][-d][-l <行数>] [要切割的文件][输出文件名]
常用参数说明如下:
-<行数>:指定每多少行切成一个小文件-a: 指定输出文件名的后缀长度(默认为2个)-b<字节>:指定每多少字节切成一个小文件-C<字节>:与参数-b相似,但是在切割时将尽量维持每行的完整性-d:指定输出文件名的后缀用数字代替-l:指定每多少行切成一个小文件
详细帮助信息可以执行split --help查看。
使用实例
使用指令split将文件test.sh每6行切割成一个文件,命令如下:
$ split -6 test.sh test/test_
执行完毕后,在./test目录下会生成很多小文件,而在这些小文件中,每个文件都只有6行内容:
test_aa test_ab test_ac test_ad test_ae test_af test_ag test_ah ·······
文件合并
使用cat命令可以实现多个小文件的合并。
语法格式
cat [-options] filename
常用参数说明如下:
-n:由1开始对所有输出的行数编号-b:和-n相似,只不过对于空白行不编号-s:当遇到有连续两行以上的空白行,就代换为一行的空白行
使用实例
对上面切割的小文件进行合并:
cat test_* > test.sh
在linux系统下,大文件的切割和合并都非常方便。
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !