導航:首頁 > 文件教程 > shell分割文件

shell分割文件

發布時間:2024-11-25 22:07:33

⑴ shell 如何按照特定內容以及范圍拆分成多個文件

#!/bin/awk
{
if(/[ ]*create table/){
name=$0;
sub("[ ]*create table ","",name);
}
print>name;
}

就是判斷當前行是不是create table 如果是,就設置name變數為table 名。
隨後把當前行輸出到版name文件。
因此每次遇到create table 就會權變換name 文件名。不需要判斷;結尾的行。

⑵ 如何用SHELL正確分割CSV文件中的列

2種方法:

#方法1:
awk -F, '{print $1","$4","$7}' no1/test.csv no2/test.csv no3/test.csv > newtext.csv
#方法2:
cat no1/test.csv no2/test.csv no3/test.csv | cut -d, -f1,4,7 > newtext.csv

⑶ shell文件中一行切多行,如何高效實現,請高人指點,非常感謝!

其實很簡單,通過shell,然後搭配簡單的awk就可以實現。


awk-F"%"'{print$1$2" "$1$3" "$1$4" "$1$5" "$1$6" "$1$7}'1


你可以通過shell寫一個按行內讀取文件,然後進行處理容。

如果在復雜點awk,應該可以一行實現,不過今天剛出差回來,有點累了,實在懶得想了。

告訴你思路了,雖然可能效率會稍微比awk直接用低點不過完成工作應該沒問題。


⑷ Shell腳本如何實現對一個文件按關鍵字行來分成若干個小文件

五行關鍵字應該分割為6個文件啊?要不就是只取關鍵字行以下的行。

思路:用sed得出包含這個關鍵字的行的行號,然後根據行號分割文件。

#!/bin/sh
myFile=TestResult.txt
num=5
count=0
line=`sed-n'/FILE_TESTCASERESULT/='$myFile`
fornin$line
do
[$count-eq0]&&letstartLine=n+1&&continue
letcount+=1
letendLine=n-1
[$count-eq$num]&&endLine=`sed-n'$='myFile`
sed-n"${startLine},${endLine}p;q"$myFile>result_${count}.txt
letstartLine=n+1
done

結果保存到result_1.txt,result_2.txt,result_3.txt,result_4.txt,result_5.txt五個文件中。

註:關鍵字行本身不保存。如果要保存關鍵字行,請修改代碼中的 let startLine=n+1 為 startLine=$n (兩處地方)。

閱讀全文

與shell分割文件相關的資料

熱點內容
coreldraw文件如何導入3dmax 瀏覽:150
招標文件如何用word做密封頁 瀏覽:44
如何在c51中調用匯編程序 瀏覽:824
java字元串轉碼gbk 瀏覽:983
win怎麼打開隱藏文件夾選項 瀏覽:454
榮耀手機qq接收文件在哪個文件夾 瀏覽:708
messagebox的頭文件 瀏覽:100
java啟動線程處理 瀏覽:622
騰迅收藏的表情在哪個文件夾 瀏覽:388
為什麼excel的文件是word打開的 瀏覽:781
紅頭文件字體格式word 瀏覽:443
iis字體配置文件 瀏覽:285
少兒編程導師是做什麼的 瀏覽:593
當前的網路安全防禦技術有哪些 瀏覽:655
win如何重置用戶配置文件 瀏覽:178
java獲取cpu編號 瀏覽:960
qt文件指針移動 瀏覽:655
蘋果4s耳機插孔失靈 瀏覽:923
qq漫遊記錄在手機哪個文件夾 瀏覽:58
設置hdd密碼 瀏覽:624

友情鏈接