2015-11-24 105 views
0

我有我的文本文件中的數據,我想將這些數據寫入excel行明智。如何使用awk將文本文件中的數據寫入Excel文件行?

輸入文件:

12784 
657 
38% 
5.5 
237 
. 
. 

(Excel)中輸出文件:

Column_3 Column_4 Column_5 Column_6 Column_7 ... 
12784  657  38%  5.5  237 

如前兩行包含一些其它數據。

我嘗試:

awk '{print $1}' OFS="|" input.txt > OutputObatained.xls 

但得到的數據寫在僅第一列(列1)。 另外我想從我的第三列的數據。 而我正在寫一個腳本,所以這些數據將被頻繁添加,並且我必須每次都在新行中追加。 例如: 1輸出 (EXCEL)輸出文件:

Column_3 Column_4 Column_5 Column_6 Column_7 ... 
12784  657  38%  5.5  237 

第2個輸出:

(EXCEL)輸出文件:

Column_3 Column_4 Column_5 Column_6 Column_7 ... 
12784  657  38%  5.5  237 
13455  689  40%  6.1  240 

這個樣子,我不想失去以前的數據和每次數據應該進入新的行。

到現在爲止,我能夠得到這樣 (EXCEL)輸出文件中的數據:

Column_1 Column_2 Column_3 Column_4 Column_5 ... 
12784  657  38%  5.5  237 

,但我需要有從第三column.and數據下一個數據必須進來新行每個時間。

+0

您想獲得XLS文件還是更簡單一些,如CSV? – Serpens

+0

認爲你打算使用'ORS' – 123

+0

你的下一個評論是「哦,但我需要多行輸出」?如果是的話編輯你的問題澄清。從你的例子中擺脫所有那些無用的'...'。 –

回答

1

根據有關資料顯示您

paste - - - - - <input.txt> output.csv 

輸出文件將有製表符分隔的數據。

根據實際有多少列,可以動態生成連字符序列。或者,使用awk:

awk -v cols=5 '{printf "%s%s", $1, (NR % cols == 0 ? "\n" : "\t")}' input > output 
+0

thanx @glenn jackman我試過這個,並且數據是在單行中我想要的。但我希望數據從第三欄開始寫,所以有什麼辦法,或者您想分享任何文件以獲得幫助。謝謝 –

相關問題