sort 排序問題 - Linux

Table of Contents


不好意思
想請問大家
如果資料是

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_

想了好久想不出來@@
希望有高手能指點一下
謝謝








--

All Comments

Rebecca avatarRebecca2017-01-12
sort -V
Lauren avatarLauren2017-01-15
我在redhat試 sort -V 好像會錯@@ 沒這功能的樣子
Hardy avatarHardy2017-01-19
sed 's/REG/9999999/g' | sort -t '_' -k 2 -k 3 -n
|sed 's/9999999/REG/g'一時想不到通用一點的。
Megan avatarMegan2017-01-24
沒想過可以這樣改耶XDD 感謝!!!
Rae avatarRae2017-01-25
這解法還蠻有意思的...
Mia avatarMia2017-01-29
用recursive先切開,然後放link-list裡面排。
Hedwig avatarHedwig2017-02-02
還要考慮會不會有重複,因為用recursive直接放進link-l
ist就排完了,只是要用搜尋樹讀出來~_~" 應該吧,很久
Queena avatarQueena2017-02-07
沒寫程式了-_-"
Linda avatarLinda2017-02-10
(我的link-list是可以指向多個node的tree喔!!)
Ingrid avatarIngrid2017-02-11
給噓一下,為什麼跳出來需要排序,原設計有問題!
Ophelia avatarOphelia2017-02-15
a大 如果要用其他程式寫 的確有很多演算法
不過因為我是想用sort直接做掉
Ina avatarIna2017-02-18
所以才上來問看看@@
Edwina avatarEdwina2017-02-21
畢竟linux sort command可以做掉的話
Joe avatarJoe2017-02-23
可以省下滿多時間的
Genevieve avatarGenevieve2017-02-24
用python大約30行內可以搞定,只是脫離純命令操作了
Susan avatarSusan2017-02-25
我是覺得sort排出來有時候會怪怪的 尤其是cjk字元
Noah avatarNoah2017-02-25
你可以用/bin/sort之類的取代PATH給你的sort!!
Olive avatarOlive2017-02-25
大師不要鬼扯有的沒的 ...
Yedda avatarYedda2017-02-25
sed -e 's/\(.*_\)\([0-9][0-9]*\)\(_\)/\2 \1\2\3/'
Blanche avatarBlanche2017-02-28
sed -e 's/\(.*_\)\([0-9][0-9]*\)\(_\)/\2 \1\2\3/'
|sort -n |sed -e 's/^[0-9]* //'
Kumar avatarKumar2017-03-04
小強 晚上打球 你帶球
Gilbert avatarGilbert2017-03-04
搞錯了...我以為要放在一起排@@
Dora avatarDora2017-03-05
想問一下 cjk字元排序用pythong還是perl哪個比較好
python多打一個g XD
Annie avatarAnnie2017-03-07
若都走 unicode, 那就是依據 unicode 的順序來排序
Ida avatarIda2017-03-12
GNU core utilities 有支援 sort -V
James avatarJames2017-03-13
至少 8.25 以上的版本都有支援