2013-04-29 57 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