2013-04-04 41 views
0

排序此列表時,如何忽略「吉隆坡」中的空間?我欺騙它通過選中列並對選項卡進行排序,這給了我正確的結果,但我想知道如何處理列中的空間,因爲重新格式化列表似乎不是一個好習慣,特別是如果名單更大。那可能嗎?排序bash#2

在此先感謝

Kuala Lumpur  78   56 

    Seoul    86   66 

    Karachi    95   75 

    Tokyo    85   60 

    Lahore    85   75 

    Manila    90   85 

各市:

Karachi    95   75 

Kuala Lumpur  78   56 

Lahore    85   75 

Manila    90   85 

Seoul    86   66 

Tokyo    85   60 

我也有它的高溫(高至低2列)排序,並低溫(低後高,第3欄)

高TEMP:

Karachi    95   75 

Manila    90   85 

Seoul    86   66 

Lahore    85   75 

Tokyo    85   60 

Kuala Lumpur  78   56 

BY LOW TEMP:

Kuala Lumpur  78   56 

    Tokyo    85   60 

    Seoul    86   66 

    Karachi    95   75 

    Lahore    85   75 

    Manila    90   85 

原來沒有標籤

Kuala Lumpur 78 56 

    Tokyo  85 60 

    Seoul  86 66 

    Karachi  95 75 

    Lahore  85 75 

    Manila  90 85 
+2

爲什麼會忽略的空間給你買什麼?只有當你有其他條目開始'瓜拉'時纔會有所作爲。 – 2013-04-04 05:48:33

+0

如果其他條目中有空格並且是第一列的一部分,該怎麼辦? – rogerthat 2013-04-04 05:58:50

+1

只有在空格之前的字符串開頭超過1個條目時,空格纔會有所不同。即如果你同時擁有「吉隆坡」和「吉隆坡」。否則它不會影響排序順序。 – 2013-04-04 06:01:13

回答

1
[email protected] ~ 
$ cat test.dat 
Kuala Lumpur 78 56 
Tokyo  85 60 
Seoul  86 66 
Karachi  95 75 
Lahore  85 75 
Manila  90 85 

[email protected] ~ 
$ sort -k1.1,1.13 test.dat 
Karachi  95 75 
Kuala Lumpur 78 56 
Lahore  85 75 
Manila  90 85 
Seoul  86 66 
Tokyo  85 60 

[email protected] ~ 
$ sort -k1.14,1.15 test.dat 
Kuala Lumpur 78 56 
Lahore  85 75 
Tokyo  85 60 
Seoul  86 66 
Manila  90 85 
Karachi  95 75 

[email protected] ~ 
$ sort -k1.17,1.18 test.dat 
Kuala Lumpur 78 56 
Tokyo  85 60 
Seoul  86 66 
Karachi  95 75 
Lahore  85 75 
Manila  90 85 
+0

我只是閱讀和測試字符排序。非常感謝。我開始瘋了。 – rogerthat 2013-04-04 06:45:50