2014-04-10 45 views
0

我正在使用下面的排序命令按desc順序排序2個字段,並有可能在某些情況下第二個字段可能爲空。空白值的Unix排序命令

sort -k 1.1,1.2n -brn -k 1.5,1.6 -o 

樣本數據:

112321 
112422 
112526 
1124 
112623 

輸出必須是如下

1124 
112526 
112623 
112422 
112321 

能否請你幫我出一個解決方案,謝謝!!!!

+0

在比較任何當前字段的情況下得到缺失字段(在'1124之後)比較困難。 –

回答

0

將它作爲兩個單獨的命令並連接結果。

{ grep -v '^.....' input | sort -k 1.1,1.2n; 
    grep '^.....' input | sort -k 1.1,1.2n -brn -k 1.5,1.6; } > output 
+0

我實際上是通過java使用Runtime.getRuntime()。exec(UNIXCOMMAND)
使用排序命令你是否仍然可以使用它連接合並結果.......... – user3521574

+0

如果它運行命令通過shell,那麼你應該能夠把這整個東西放在'UNIXCOMMAND'中。 – Barmar

+0

在上述命令中,我們在哪裏實際指定要對哪個文件進行排序 – user3521574