轉載 shell sort

來源:互聯網
上載者:User

標籤:

http://blog.sina.com.cn/s/blog_6d09b5750100x6zg.html

首先是shell排序實現多列排序,這裡添加豎線以作分割,如下檔案test:

a|gggg|4|7b|fff2|3|2c|gea0|6|12d|kkkg|4|11e|uity|6|4f|fger|1|3g|wabg|7|5h|zhag|8|7i|hang|3|3j|lang|2|15k|long|5|7$cat test |sed ‘s/|/ /g‘ |sort -k3,3n -k4,4nr當然這裡可以不用將豎線去掉,直接用-t選項排序原文,需將豎線轉義,用"\|":$cat test |sort -t\| -k3,3n -k4,4nr我們可以不用管道符號:$sort -t\| -k3,3n -k4,4nr test在檔案中按列排序需要有間隔,所以用sed將檔案中豎線"|"輸出轉換為空白格,sort中"-k3,3n"是按第三列(key)和順序排序(numeric-sort),"-k4,4nr"是按第四列逆序(reverse)輸出,結果類似sql語句中的order by row3 ASC,row4 DESC,即優先對row1排序,在結果中,若row3相同,則在相同的基礎上,對row4進行排序,這裡第三、四列分別是升序和降序,結果為f fger 1 3j lang 2 15i hang 3 3b fff2 3 2d kkkg 4 11a gggg 4 7k long 5 7c gea0 6 12e uity 6 4g wabg 7 5h zhag 8 7其他排序$cat test |sed ‘s/|/ /g‘ |sort -k3,3nr -k4,4nr$cat test |sed ‘s/|/ /g‘ |sort -k3,3n -k4,4n應該很容易分析吧通過在程式中訪問shell命令可獲得檔案內容(如php中用popen函數,結合fgets函數可獲得資料,還可用explode進行分割得到數組,便可在web中訪問),就如同從資料獲得資料一樣有了資料,可是資料庫可通過limit lines1,lines2進行分頁,那檔案呢?我們可以通過shell命令中的tail和head來完成,-n為指定顯示行數,如下10行,+1為從第一行開始,如果沒有"+"號,則為檔案尾最後一行。這樣就通過tail和head的結合實現分頁呐,一個顯示10行的首頁:$tail -n +1 |head -n 10如第3頁:$tail -n +31 |head -n 10至於每頁顯示多少(即命令中的10),隨便寫就是

轉載 shell sort

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.