目錄
1. 前記
2. 文件分割(split)
2.1 命令語法
2.2 使用實例
?。?)查看文件總行數(shù)
?。?)分割文件
?。?)分割結(jié)果
3. 文件合并(cat)
3.1 命令語法
3.2 使用實例
?。?)合并全部已分割文件并檢驗行數(shù)
?。?)合并部分已分割文件并檢驗行數(shù)
1、前記
Linux學(xué)習(xí)系列主要側(cè)重數(shù)據(jù)處理的命令實戰(zhàn)學(xué)習(xí),包括但不限于awk,grep,sed等命令的實戰(zhàn)學(xué)習(xí)。
2、文件分割(split)
2.1 命令語法
split [--help][--version][-<行數(shù)>][-b <字節(jié)>][-C <字節(jié)>][-l <行數(shù)>][要切割的文件][輸出文件名]
參數(shù)解釋
- -a:指定輸出文件名的后綴長度,默認(rèn)為2個(aa,ab...);
- -d:指定輸出文件名的后綴用數(shù)字代替;
- -l<行數(shù)>:行數(shù)分割模式,指定每多少行切成一個小文件;
- -b<字節(jié)>:二進(jìn)制分割模式,指定每多少字切成一個小文件,支持單位:m,k;
- -C<字節(jié)>:文件大小分割模式,與-b參數(shù)類似,但切割時盡量維持每行的完整性;
- --help:顯示幫助;
- --version:顯示版本信息;
- [輸出文件名]:設(shè)置切割后文件的前置文件名,split會自動在前置文件名后再加上編號。
2.2 使用實例
(1)查看文件總行數(shù)
wc -l seven.sql
輸出:3307194 seven.sql,即約330萬行,分割時以30萬行為單位。
(2)分割文件
split -l 300000 seven.sql /home/kinson/Desktop/test1/seven_
--解釋:
--參數(shù)"l"表示按行分割;
--"300000"表示每個文件30w行
--"seven.sql"為將分割文件;
--"/home/kinson/Desktop/test1/seven_"為分割后的文件路徑與命名。
(3)分割結(jié)果

分割結(jié)果
3、文件合并(cat)
cat命令的用途是連接文件或標(biāo)準(zhǔn)輸入并打印。這個命令常用來顯示文件內(nèi)容,或者將幾個文件連接起來顯示,或者從標(biāo)準(zhǔn)輸入讀取內(nèi)容并顯示,它常與重定向符號配合使用。
cat主要有如下三大功能:
- 一次顯示整個文件:cat filename;
- 從鍵盤創(chuàng)建一個文件:cat > filename 只能創(chuàng)建新文件,不能編輯已有文件;
- 將幾個文件合并為一個文件:cat file1 file2 > file。
3.1 命令語法
cat [-AbeEnstTuv] [--help] [--version] fileName
參數(shù)解釋
- -A:--show-all,等價于 -vET;
- -b: --number-nonblank,對非空輸出行編號;
- -e:等價于 -vE;
- -E: --show-ends,在每行結(jié)束處顯示 $;
- -n:--number,對輸出的所有行編號,由1開始對所有輸出的行數(shù)編號;
- -s:--squeeze-blank,有連續(xù)兩行以上的空白行,就代換為一行的空白行;
- -t:與 -vT 等價;
- -T:--show-tabs,將跳格字符顯示為 ^I;
- -v:--show-nonprinting,使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外。
3.2 使用實例
(1)合并全部已分割文件并檢驗行數(shù)
cat test1/seven_* >newseven
wc -l newseven
輸出:3307194 newseven,與原文件seven.sql行數(shù)一致。
(2)合并部分已分割文件并檢驗行數(shù)
cat test1/seven_aa > seven_part
cat test1/seven_ab >> seven_part
cat test1/seven_ac >> seven_part
wc -l seven_part
>>表示追加,輸出900000 seven_part,即合并了3個文件,每個30萬行,所以合并后文件總行數(shù)為90萬行。