[問題] sort 排序問題

看板Linux作者 ((*v*)σhappy)時間7年前 (2017/01/10 23:58), 7年前編輯推噓8(9121)
留言31則, 10人參與, 最新討論串1/1
不好意思 想請問大家 如果資料是 REG_0_ REG_1_ REG_10_ REG_2_ 希望他排成 REG_0_ REG_1_ REG_2_ REG_10_ 可以這樣寫 sort -t '_' -k 2 -n 但如果變成 REG_0_ REG_1_ REG_10_ REG_2_ REG_REG_0_ REG_REG_1_ REG_REG_10_ REG_REG_2_ 有辦法能排成這樣嗎? REG_0_ REG_1_ REG_2_ REG_10_ REG_REG_0_ REG_REG_1_ REG_REG_2_ REG_REG_10_ 想了好久想不出來@@ 希望有高手能指點一下 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.147.149 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1484063934.A.626.html

01/11 00:09, , 1F
sort -V
01/11 00:09, 1F

01/11 00:20, , 2F
我在redhat試 sort -V 好像會錯@@ 沒這功能的樣子
01/11 00:20, 2F

01/11 00:30, , 3F
sed 's/REG/9999999/g' | sort -t '_' -k 2 -k 3 -n
01/11 00:30, 3F

01/11 00:30, , 4F
|sed 's/9999999/REG/g'一時想不到通用一點的。
01/11 00:30, 4F

01/11 00:39, , 5F
沒想過可以這樣改耶XDD 感謝!!!
01/11 00:39, 5F

01/11 00:53, , 6F
這解法還蠻有意思的...
01/11 00:53, 6F

01/11 01:01, , 7F
用recursive先切開,然後放link-list裡面排。
01/11 01:01, 7F

01/11 01:04, , 8F
還要考慮會不會有重複,因為用recursive直接放進link-l
01/11 01:04, 8F

01/11 01:04, , 9F
ist就排完了,只是要用搜尋樹讀出來~_~" 應該吧,很久
01/11 01:04, 9F

01/11 01:05, , 10F
沒寫程式了-_-"
01/11 01:05, 10F

01/11 01:06, , 11F
(我的link-list是可以指向多個node的tree喔!!)
01/11 01:06, 11F

01/11 01:08, , 12F
給噓一下,為什麼跳出來需要排序,原設計有問題!
01/11 01:08, 12F

01/11 01:19, , 13F
a大 如果要用其他程式寫 的確有很多演算法
01/11 01:19, 13F

01/11 01:19, , 14F
不過因為我是想用sort直接做掉
01/11 01:19, 14F

01/11 01:21, , 15F
所以才上來問看看@@
01/11 01:21, 15F

01/11 01:22, , 16F
畢竟linux sort command可以做掉的話
01/11 01:22, 16F

01/11 01:23, , 17F
可以省下滿多時間的
01/11 01:23, 17F

01/11 01:45, , 18F
用python大約30行內可以搞定,只是脫離純命令操作了
01/11 01:45, 18F
感謝 有時間來研究一下python

01/11 01:53, , 19F
我是覺得sort排出來有時候會怪怪的 尤其是cjk字元
01/11 01:53, 19F
資料一多就會出現無法預期的狀況

01/11 01:57, , 20F
你可以用/bin/sort之類的取代PATH給你的sort!!
01/11 01:57, 20F

01/11 10:35, , 21F
大師不要鬼扯有的沒的 ...
01/11 10:35, 21F

01/11 15:49, , 22F
sed -e 's/\(.*_\)\([0-9][0-9]*\)\(_\)/\2 \1\2\3/'
01/11 15:49, 22F

01/11 15:50, , 23F
sed -e 's/\(.*_\)\([0-9][0-9]*\)\(_\)/\2 \1\2\3/'
01/11 15:50, 23F

01/11 15:50, , 24F
|sort -n |sed -e 's/^[0-9]* //'
01/11 15:50, 24F

01/11 17:09, , 25F
小強 晚上打球 你帶球
01/11 17:09, 25F
哈哈 你是@@??

01/11 23:01, , 26F
搞錯了...我以為要放在一起排@@
01/11 23:01, 26F
哈哈 沒關係 因為你貼我才知道原來\1\2 可以用超過1次 感謝 ※ 編輯: happychung (118.165.148.78), 01/11/2017 23:12:00

01/12 00:42, , 27F
想問一下 cjk字元排序用pythong還是perl哪個比較好
01/12 00:42, 27F

01/12 00:42, , 28F
python多打一個g XD
01/12 00:42, 28F

01/12 10:42, , 29F
若都走 unicode, 那就是依據 unicode 的順序來排序
01/12 10:42, 29F

01/12 12:11, , 30F
GNU core utilities 有支援 sort -V
01/12 12:11, 30F

01/12 12:12, , 31F
至少 8.25 以上的版本都有支援
01/12 12:12, 31F
文章代碼(AID): #1OTGI-Oc (Linux)