數字線由我場有包含這些字符,在我的分隔符/分隔符是##@##
一個文本文件:排序在AWK
Steve##@##Jobs##@##Apple Inc.##@##32421213
Bill##@##Gates##@##Microsoft Corp.##@##234213
Steve##@##Wozniak##@##Apple Inc.##@##12343
Tim##@##Cook##@##Apple Inc.##@##323345223
現在,我希望他們能夠被第三場數值&升序。我讀到可以使用bash命令sort
,這不幸只支持單個字符作爲分隔符。
最終排序的文件應該正好是這樣的一個:
Steve##@##Wozniak##@##Apple Inc.##@##12343
Bill##@##Gates##@##Microsoft Corp.##@##234213
Steve##@##Jobs##@##Apple Inc.##@##32421213
Tim##@##Cook##@##Apple Inc.##@##323345223
是否有某種修復或我可以做到這一點使用AWK?
這是標準的方法,但是使用'\ t'代替'|'作爲分隔符,因爲這是默認的'sort'分隔符,這樣你就可以告訴排序只使用第一個字段(因爲YMMV的順序是'|'vs其他字符),所以你可以在之後使用它的默認分隔符:'awk -F'## @ ##'-v OFS ='\ t''{print $ 4,$ 0}'輸入| sort -k1,1n |切-f2-'。 –