我有一個數據日誌文件(比如說,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中的日誌文件
你試過了什麼嗎?這是使用python相對容易的事情。我想,使用shell'sort'命令也很容易。 (提示,看看'sort'的'-n -k'標誌)。當然,你不能真正做到「就地」)。反正也不容易。你可以做的最好的事情是對新文件進行排序,並將新文件寫入舊文件。 – mgilson 2013-03-19 13:57:07
@mgilson - 您可以在適當位置排序。請參閱'sort -o'。 – 2013-03-19 14:04:27
@Robᵩ - 這實際上並沒有排序。這只是將輸出文件寫入輸入文件的頂部,就像我所說的那樣。 – mgilson 2013-03-19 14:06:05