2011-04-15 48 views
0

我需要對HP-UX上的查找輸出進行排序。我已經得到了以下結果:對一些查找結果排序

/path/to/folder/one/blabla_110303121212.x 
/path/to/folder/two/otherblabla_1102124302.x 
etc. 

用sort -t「\」 -k5,我設法從上/排序,但現在我希望能夠從只有最後下劃線進行排序,對數字訴訟。 -t不能帶兩個分隔符(嘆氣),-n不起作用(不知道爲什麼),我不能給出一個確切的數字來告訴-k第二個參數,其中鍵從「 blabla「是不一樣的,我需要保留這些(不可否​​認的)路徑。

有沒有人有任何想法?提前致謝 !

回答

1

sort(1)通常是穩定的,這意味着如果它們具有相同的排序鍵,它不會干擾元素的順序。

因此,解決方案是對輸出進行多次排序;從下劃線後的部分開始,然後按名稱排序。

另一種解決方案是將文件剪切成列,更改列的順序,對此中間文件進行排序,然後將列重新加入原始表格。

隨着awk(1),您可以創建

blabla_      110303121212.x /path/to/folder/one/ 
    otherblabla_     1102124302.x /path/to/folder/two/ 

這可以不使用任何選項進行排序;只需在前綴和後綴之間添加足夠的空白並將後綴對齊。