我有一个类似于此的数据日志文件(例如,log.dat)(玩具示例):
s('2','3')102.3993 2992 0.22 0.33
s('4','6')105.44 2993 0.43 0.93
s('19','33')99.93 28992 0.99 0.29
....(类似模式)
我想使用bash shell或python按第二个字段对数据日志文件进行排序。这意味着输出文件如下所示:
s('19','33')99.93 28992 0.99 0.29
s('2','3')102.3993 2992 0.22 0.33
s('4','6')105.44 2993 0.43 0.93
我怎么能用shell脚本或python来实现呢?也许最好附加一个指示每一行等级的尾部字段(1,2,3,...)最终目标是在第二个字段中绘制gnuplot中的日志文件
答案 0 :(得分:2)
从bash命令行,尝试sort(1)命令:
$ sort -k2,2 -n -o log.dat log.dat
答案 1 :(得分:1)
试试这个:
$ sort -k2 -n inputFile > outputFile
其中:
N.B。 -t, - field-separator = SEP使用SEP代替非空白到空白转换,因此我们使用默认字段分隔符