2013-03-18 59 views
0

我想對這些看起來像這樣的條目進行排序,只是使用與某個區域相對應的格式化文本數據,使用這些區域的天文座標和名稱。我想根據大括號內的名字組織這些區域。使用鍵不工作排序

圈(20:34:36.717 + 40:51:51.90,15 「)#文本= {tadpole4h}

圈(20:25:28.500,+ 41:08:20.80,15」)蝌蚪字段 我以下#文本= {tadpole45}

基於所述號碼#文本= {tadpole33}

圓(25.24,15" 20:32:40.867 + 41:51)相對較新的Linux,但認爲我有這從看其他堆棧問題。 這是我的破解它:

sort -k54,56 -n test.reg 

sort -k54,55 -n < test.reg 

sort -k55,57 -n < test.reg 

sort -k55,56 -n < test.reg 

還具有k嘗試過並且n交換和拼寫出充分每個部分。 另一種方式,我想要搜索它會是,如果我可以使用通配符到達蝌蚪字符串,然後從那裏排序,但我無法弄清楚如何獲得通配符工作排序。

+0

也試過n和k換了 – Skyler 2013-03-18 22:54:34

+0

哇,你有超過57列用空格分隔嗎? oO – 2013-03-18 22:58:40

+0

您正在排序。現在你是否遇到了一些你想問一個問題的問題? – stark 2013-03-18 22:58:45

回答

0

您可以使用SED前綴與蝌蚪號的每一行,那麼你對這個前綴行排序,對於*的東西,你在想:

sed 's/.*tadpole\([^}]*\)}/\1 &/' test.reg | sort -t' ' -k1 

您還可以在打印之前刪除的前綴:

sed 's/.*tadpole\([^}]*\)}/\1 &/' test.reg | sort -t' ' -k1 | sed 's/^[^ ]* //'