日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Linux:split 文件分割和合并

發(fā)布時間:2024/1/1 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux:split 文件分割和合并 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、簡介

Linux服務(wù)器普通的文件上傳下載一般用 sz rz 就可以滿足要求了,但是遇到大文件(超過4G)時就不好使了。
這是就可以通過將大文件分割為小文件傳輸,之后再進(jìn)行文件合并即可。

二、用法

split命令格式:

split + 參數(shù) + 要分割的文件 + 分割后子文件前綴

參數(shù):

參數(shù)解釋
-a后綴長度,例如-a3表示后綴長度為3
-l按照行數(shù)將文件分割成多個小文件
-b按照字節(jié)數(shù)將文件分割成多個小文件
-d指定后綴編碼為數(shù)字,默認(rèn)編碼為字母

2.1、生成測試大文件

[root@docker][19:13:12][OK] ~ #head -c 10M < /dev/urandom >cuttingLog [root@docker][19:13:15][OK] ~ #ll -h total 10M -rw-r--r-- 1 root root 10M Nov 18 19:13 cuttingLog

2.2、分割

【1】每100行分成一個文件,后綴為數(shù)字,后綴長度為3位,前綴為log.

split -a3 -l 100 -d cuttingLog log.

[root@docker][19:13:17][OK] ~ #split -a3 -l 100 -d cuttingLog log. [root@docker][19:15:30][OK] ~ #ll total 21328 -rw-------. 1 root root 1640 Nov 7 23:43 anaconda-ks.cfg -rw-r--r-- 1 root root 10485760 Nov 18 19:13 cuttingLog -rw-r--r-- 1 root root 23325 Nov 18 19:15 log.000 -rw-r--r-- 1 root root 22546 Nov 18 19:15 log.001 -rw-r--r-- 1 root root 22925 Nov 18 19:15 log.002 -rw-r--r-- 1 root root 27279 Nov 18 19:15 log.003 -rw-r--r-- 1 root root 29060 Nov 18 19:15 log.004 -rw-r--r-- 1 root root 22118 Nov 18 19:15 log.005 -rw-r--r-- 1 root root 25845 Nov 18 19:15 log.006 -rw-r--r-- 1 root root 25865 Nov 18 19:15 log.007 -rw-r--r-- 1 root root 25474 Nov 18 19:15 log.008 -rw-r--r-- 1 root root 22842 Nov 18 19:15 log.009 -rw-r--r-- 1 root root 26265 Nov 18 19:15 log.010 ...

【2】每100行分成一個文件,后綴為字母,后綴長度為3位,前綴為log.?

split -a3 -l 100 cuttingLog log.

[root@docker][19:16:58][OK] ~ #split -a3 -l 100 cuttingLog log. [root@docker][19:17:01][OK] ~ #ll total 21328 -rw-------. 1 root root 1640 Nov 7 23:43 anaconda-ks.cfg -rw-r--r-- 1 root root 10485760 Nov 18 19:13 cuttingLog -rw-r--r-- 1 root root 23325 Nov 18 19:17 log.aaa -rw-r--r-- 1 root root 22546 Nov 18 19:17 log.aab -rw-r--r-- 1 root root 22925 Nov 18 19:17 log.aac -rw-r--r-- 1 root root 27279 Nov 18 19:17 log.aad -rw-r--r-- 1 root root 29060 Nov 18 19:17 log.aae -rw-r--r-- 1 root root 22118 Nov 18 19:17 log.aaf -rw-r--r-- 1 root root 25845 Nov 18 19:17 log.aag -rw-r--r-- 1 root root 25865 Nov 18 19:17 log.aah -rw-r--r-- 1 root root 25474 Nov 18 19:17 log.aai -rw-r--r-- 1 root root 22842 Nov 18 19:17 log.aaj ...

?【3】每2M分成一個文件,后綴為字?jǐn)?shù)字,后綴長度為2位,前綴為log.

split -b 2M -d?cuttingLog log.

[root@docker][19:20:26][OK] ~ #split -b 2M -d cuttingLog log. [root@docker][19:20:29][OK] ~ #ll -h total 21M -rw-------. 1 root root 1.7K Nov 7 23:43 anaconda-ks.cfg -rw-r--r-- 1 root root 10M Nov 18 19:13 cuttingLog -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.00 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.01 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.02 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.03 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.04

注意:當(dāng)分割后文件的數(shù)量大于后綴能表達(dá)的最大文件數(shù)時,會報錯:split: output file suffixes exhausted
例如split -a1 -b 2048 -d /test/logs.txt /test/logs/log.這個命令能分割出14個文件,但是使用-a1命令使得后綴只能表示10個文件,所以實(shí)際文件數(shù)量超出后綴能表達(dá)的文件數(shù)量,會報錯。

?2.2、合并

[root@docker][19:27:03][OK] ~ #cat log.* >cuttingLog_bak [root@docker][19:27:30][OK] ~ #ll -h total 31M -rw-------. 1 root root 1.7K Nov 7 23:43 anaconda-ks.cfg -rw-r--r-- 1 root root 10M Nov 18 19:13 cuttingLog -rw-r--r-- 1 root root 10M Nov 18 19:27 cuttingLog_bak -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.00 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.01 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.02 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.03 -rw-r--r-- 1 root root 2.0M Nov 18 19:20 log.04 [root@docker][19:27:32][OK] ~ #md5sum cuttingLog* a583e4c5c9de6618b89aa9fc909cc3c8 cuttingLog a583e4c5c9de6618b89aa9fc909cc3c8 cuttingLog_bak

總結(jié)

以上是生活随笔為你收集整理的Linux:split 文件分割和合并的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。