linux_shell_awk 處理 文字檔案 並匯入excel

會飛行的小蝸牛發表於2016-07-27

1、首先有一個文字檔案,檔名為data.txt,文字內容如下: 

Jim the wellsy 
100 Pleasent Drive 
San Francisco,CA12345 

Big  Tony 
200 Incognito AVE. 
Suburbia,WA 6789 

Cousin Vinnie 
Vinnie's Auto Shop 
300 City Alley 
Sosueme, OR 76543 

2、編寫一個awk檔案address.awk來處理這個文字檔案,要求輸出格式為: 
欄位與欄位之間以製表符分隔 

Jim the wellsy  100 Pleasent Drive      San Francisco,CA12345 
Big  Tony       200 Incognito AVE.      Suburbia,WA 6789 
Cousin Vinnie   Vinnie's Auto Shop      300 City Alley  Sosueme, OR 76543

說明:在處理這個文字檔案時,可以將文字檔案中的內容當成一條一條的記錄以空行來區分: 
比如: 

Jim the wellsy 
100 Pleasent Drive 
San Francisco,CA12345 

Big  Tony 
200 Incognito AVE. 
Suburbia,WA 6789 


代表兩條記錄,每條記錄三個欄位,記錄分隔符 RS 設定成 "",即空行,欄位與欄位之間以換行符來區分,我們可以將欄位分隔符 FS 設定成 "\n", 
address.awk內容如下: 

BEGIN { 
    FS="\n" 
    RS="" 
    ORS="" 
} 
{ 
   x=1 
   while ( x<NF ) { 
   print $x "\t" 
   x++ 
} 
   print $NF "\n" 
} 

執行命令:awk -f address.awk  data.txt > output.txt 


解釋:處理文字 data.txt 並將結果重定向到 output.txt 檔案 


3、最後就是將output.txt匯入excel了,步驟比較簡單: 


檔案----->開啟------>選擇分隔符號----->選擇tab-----OK 












相關文章