linux下如何切割大文件
工作傳輸數(shù)據(jù)的時(shí)候,經(jīng)常會(huì)遇到限制文件大小的情況,這是就要將大文件切割成幾個(gè)小文件,用過(guò)for循環(huán)+sed的方法,還有split的方法,剛發(fā)現(xiàn)split本身提供了不同場(chǎng)景的切割方法。
整理一下,非常好用。
首先split --help linux會(huì)顯示命令的幫助,提供了“a”“b”“C”“d”“l”五個(gè)選項(xiàng)注意:C是大寫(xiě),小寫(xiě)報(bào)錯(cuò)
我在這里準(zhǔn)備了一個(gè)6K多,100行的info.txt文件做演示
文件內(nèi)容如下:
按文件大小切分 每個(gè)1K(也可以選擇‘M’‘G’‘T’等)執(zhí)行split -b 1k info.txt 結(jié)果如下,每個(gè)文件被均分為1K
的7個(gè)文件,第七個(gè)小。其中‘1_’做為文件的前綴。
但是看一下每個(gè)文件的內(nèi)容發(fā)現(xiàn),有的行不完整了
執(zhí)行split -C 1k info.txt 發(fā)現(xiàn)文件不是均分成1K但是文件的內(nèi)容是完整的,所以大家懂了吧
按行切分(這里一次演示剩下的3個(gè)命令)
執(zhí)行split -l 10 -d -a 3 info.txt 1_
可以看到-l把每個(gè)文件切成10行文件的后綴不是aa變成了000這是-d的效果,用數(shù)子后綴,-a 3是后綴3個(gè),如果-a 4 后綴就變成了0000
每個(gè)都是10行
總結(jié)以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
