作者silverberry (平行線上的交集....)
看板Linux
標題[問題] 排序第一行以後再排序第二行 sort
時間Mon Mar 16 08:34:47 2015
我的檔案有兩直行,約 450K 列
大概長這樣
CGS2000150 1004208
CGS2000035 1008116
CGS2000035 1008226
CGS2000035 1008234
CGS2000035 1008236
CGS2000035 1008241
CGS2000035 1008254
CGS2000035 1008283
CGS2000064 10088306
CGS2000064 10088319
.
.
.
我想把它變成
CGS2000001 由
CGS2000001 小
CGS2000001 到
CGS2000001 大
CGS2000002 也
CGS2000002 是
CGS2000002 由
CGS2000002 小
CGS2000002 到
CGS2000002 大
CGS20000這 由
CGS20000邊 小
CGS20000也 到
CGS20000是 大
.
.
.
.
CGS2004483 大
我用 sort -k1 -n -k2
看起來是變成 sort 了 column 2
有辦法保持原本 -k1 的效果然後再排序 column 2 嗎?
謝謝 m(_ _)m
--
尋找在程式中片刻的寧靜...
我願能將心靈沈澱 結晶...
讓晶體一點一點散發淡淡的濃純香郁...
送給單純的你 祝福
找到屬於自己最原始的愛戀...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.84.54.178
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1426466094.A.150.html
推 CaptainH: sort -n -k2 | sort -s -k1 03/16 08:42
→ kdjf: 就是個簡單的sort -n而己 03/16 09:51
→ silverberry: 我試了 C 大的方法,sort -n -k2 filname | sort -s 03/16 11:29
→ silverberry: -k1 03/16 11:29
→ silverberry: 但是只有八位數字由大到小,然後中間穿插了幾個 03/16 11:34
→ silverberry: 七位數字的 03/16 11:34
→ silverberry: 我用 grep "CGS2000001" 把 CGS2000001 的 data 弄 03/16 11:35
→ silverberry: 出來,最小的是 2056897 03/16 11:37
→ silverberry: 但如果是原來整份檔案做的話是 12725458 03/16 11:38
→ silverberry: 自問自答~ 03/16 11:47
→ silverberry: sort -n -k2 | sort -V -k1 正解! 03/16 11:47
→ silverberry: 感謝 C 大 k 大~ 03/16 11:48