1)按2行切割 -l 2
在巴中等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)網(wǎng)站制作,巴中網(wǎng)站建設(shè)費(fèi)用合理。
2)指定切割后的文件前綴名 data_
3)指定切割后的文件后綴名為數(shù)字 -d
4)指定切割后的文件后綴名數(shù)字的長度? ? -a 4,即位寬(10進(jìn)制),這里長度可根據(jù)切割出來的文件有多少估算,到底拆分為幾個文件,由總行數(shù),和每個文件的行數(shù)決定,不用指定。
如果為-a 4文件的后綴數(shù)字從0000開始計算,依次為0001,0002,0003,0004
split -l 2 data.log -d -a 4 data_
將文件data.log進(jìn)行拆分,每個文件2行,如果文件總共有7行,則分為data_0000,data_0001,data_0002,data_0003
15 分鐘之后,我要去朋友家聚會。我打算從我的臺式機(jī)上把一部 700MB 大小的美國大片拷貝出來,帶到朋友家去看,可是我的兩個優(yōu)盤都只有 512MB,這讓我如何是好?
別急,用 10 分鐘趕快來認(rèn)識一下我們的 split 拆分小能手,一切問題將迎刃而解。當(dāng)遇到大文件而苦不堪言的時候,split 就會像天使一樣解救我們于水火之中。
合久必分
閑言少敘,我們現(xiàn)在就來介紹拆分的方法。先使用 dd 命令來生成一個 700MB 文件來作為我們的拆分對象:
美國大片的文件大小是 700MB,而我手邊僅有的兩個優(yōu)盤,都是 512MB 大小的。我打算把文件以 400MB 作為一個拆分單位,來進(jìn)行拆分。這里使用到了 split 的-b選項(xiàng),來指定每個拆分文件的大?。?/p>
看!分身完畢!咦,怎么多出了 xaa 和 xab 兩個文件,這么奇怪的名字?
是的,你沒看錯,在沒有明確指定拆分后文件的命名方式的情況下,split 會默認(rèn)采用 x 字符作為文件前綴,采用類似 aa、ab、ac 的字符串依次作為文件后綴。于是,就出現(xiàn)了我們上面看到的 xaa、xab 了。
從文件大小來看,如我們所愿,電影文件的確被切割成了一個 400MB 的文件、一個 300MB 的文件,終于可以裝到兩個優(yōu)盤里了。
知其然,知其所以然
知道了拆分命令后,我們來一起學(xué)習(xí)一下 split 的命令格式和常用選項(xiàng)。
split 的作用很好描述,就是將文件按照一定規(guī)則進(jìn)行拆分。一般情況下,我們可以按照文件大小來進(jìn)行拆分,如果是文本文件的話,還可以按照行數(shù)來進(jìn)行拆分,默認(rèn)是 1000 行作為一個拆分單位。
默認(rèn)情況下,分割后的文件的名稱會以 x 作為前綴,以 aa、ab、ac 這樣的雙字母格式作為后綴,形成 xaa、xab 這樣的名稱格式。
我們來一起看看 split 的命令格式:
split [-b ][-C ][-][-l ][要切割的文件][輸出文件名前綴][-a ]
最常用的選項(xiàng),都在這里了:
-b字節(jié):指定按多少字節(jié)進(jìn)行拆分,也可以指定 K、M、G、T 等單位。
-行數(shù)或-l行數(shù):指定每多少行要拆分成一個文件。
輸出文件名前綴:設(shè)置拆分后的文件的名稱前綴,split 會自動在前綴后加上編號,默認(rèn)從 aa 開始。
-a后綴長度:默認(rèn)的后綴長度是 2,也就是按 aa、ab、ac 這樣的格式依次編號。
分久必合
完成了美國大片的拆分,我趕赴朋友家,打開他的電腦,優(yōu)盤插上,使用 cat 命令將拆分文件 xaa 和 xab 合并成一個文件,可以看出合并后的文件和源文件的大小是一致的:
對了,如果是在 Windows 下的話,我們要先運(yùn)行 cmd,然后用 copy 命令來進(jìn)行文件的合并:
copy /b xaa + xab king_of_ring.avi
格式上和 Linux 有些區(qū)別,但原理是一樣的。
設(shè)置拆分文件的名稱前綴
上面例子中,我們沒有指定拆分文件的名稱前綴,結(jié)果拆分后的文件名都是 aa、ab 這樣的名稱,這樣的名稱既不達(dá)意也不美觀。
下面的例子,我們嘗試以 king_of_ring_part_ 作為拆分后文件的名稱前綴:
[root@roclinux ~]$ split -b 400m king_of_ring.avi king_of_ring_part_
文件名的可讀性是不是提高了不少,從文件名稱就可以看出來是美國大片的拆分文件啦。
設(shè)置數(shù)字后綴
如果大家看不慣以 aa、ab 這種字母作為文件后綴,我們還可以通過-d選項(xiàng)來指定數(shù)字形式的文件后綴:
[root@roclinux ~]$ split -b 400m -d king_of_ring.avi king_of_ring_part_
對于中國人來說,數(shù)字形式的后綴,增加了文件名稱的可讀性。
按照行數(shù)進(jìn)行拆分
前面我們講的是按照文件大?。ㄈ?400MB)進(jìn)行文件拆分的方法,但是并非所有情況都適合于用文件大小作為拆分單元。比如,我們希望把 /etc/passwd 文件按照一個文件 10 行記錄的方式進(jìn)行拆分,又該怎么操作呢?
[root@roclinux ~]$ split -d -10 /etc/passwd my_passwd_
合并后的校驗(yàn)不可少
需要注意的是,在通過網(wǎng)絡(luò)來傳輸大文件,或者在設(shè)備之間復(fù)制大文件的時候,可能會出現(xiàn)傳輸前后數(shù)據(jù)不一致的情況。
使用 split 來拆分大文件僅僅是故事的開始,操作完畢后化零為整、完璧歸趙才是完美的結(jié)局。因此需要在合并文件后進(jìn)行文件的完整性校驗(yàn),推薦使用 md5sum 來計算和比對前后兩個大文件的 md5 值。
如果前后一致,那么恭喜你,文件合并成功!
好了,split 學(xué)完了,我們也可以和朋友一起欣賞驚險刺激的美國大片了!
在linux系統(tǒng)下用vim打開大小幾個G、甚至幾十個G的文件時,是非常慢的。
這時,我們可以利用下面的方法分割文件,然后再打開。
1、查看/導(dǎo)出文件的前多少行
上面命令的意思是:把big.log文件前10000行的數(shù)據(jù)寫入到temp.log文件中。
2 、查看文件的后多少行
上面命令的意思是:把big.log文件后10000行的數(shù)據(jù)寫入到temp.log文件中。
3 、查看文件的幾行到幾行
上面命令的意思是:把big.log文件第10到10000行的數(shù)據(jù)寫入到temp.log文件中。
4 、根據(jù)查詢條件導(dǎo)出
5、 實(shí)時監(jiān)控文件輸出(查看日志時經(jīng)常會用到)