2013-04-29 55 views
0

我有x.csv文件(編號從1到X),它們由兩列,就像這樣:的grep,排序列表格文件

sometext somedigits 

... ... 

500 1 

501 2 

502 3 

... ... 

900 y 

end 

所有我想要做的是寫一個bash腳本可能與[500..900]其他文件結果按升序名和輸出一個文件(添加了多列)的CSV文件進行排序,所以它應該是這樣的:

500 1 .. 1x 

501 2 .. 2x 

... 

900 y .. yx 

我希望你明白我記住。這很簡單,但忽略了我的腦海。

實施例:

...

550,0.000158823324663182

551,0.00015425166406236

553,0.000141510750525255

554,0.000137520666699473

555,0.000131489691198977

...

這是輸出的樣子(第一列就像是從[500..900]數組,第二列是結果(位))。我試圖從其餘的x.csv文件(按升序)添加第二列到一個文件中。

+3

你能給我們一個完整的具體例子嗎?只有2-3個輸入文件,每個文件有3-4行(當然還有完整的預期輸出)?如果你有任何代碼,那麼讓我們來看看。 – 2013-04-29 12:28:38

+0

你是什麼意思的文件按升序名稱 – Vijay 2013-04-29 12:32:59

+0

我到目前爲止使用的代碼(但它是錯誤的):grep [500..900] * .csv | sort -n> test.txt – user2331943 2013-04-29 12:53:50

回答

2
awk '{a[$1]=a[$1] " " $2} END {for(i in a) print i a[i]}' *.csv | sort -n 
+0

正如我所理解的,awk更加靈活,我可以像使用數組中的變量一樣使用它。 – user2331943 2013-04-29 12:55:32