[Shell] Sort排序的例子
source data
[/tmp/test]# more tt1
50 IT China 800
10 ACCOUNTING LA 1100
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
40 OPERATIONS BOSTON 5500
10 DEVELOPER HOSTON 1300
1.按照第二列排序
[/tmp/test]# sort -t ' ' -k2 tt1
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
50 IT China 800
40 OPERATIONS BOSTON 5500
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
2.按照第四列降序排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -nrk4 | awk '{printf "%-4s%-20s%-10s%-5s\n",$1,$2,$3,$4}'
40 OPERATIONS BOSTON 5500
30 SALES CHICAGO 2800
10 DEVELOPER HOSTON 1300
10 ACCOUNTING LA 1100
50 IT China 800
20 RESEARCH DALLAS 560
3,按照第一列升序,第四列降序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -n -k1 -k4,4nr | awk '{printf "%-4s%-20s%-10s%-5s\n",$1,$2,$3,$4}'
10 DEVELOPER HOSTON 1300
10 ACCOUNTING LA 1100
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
40 OPERATIONS BOSTON 5500
50 IT China 800
4.按第四列的第二個字元之後的數字排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -t ' ' -nk4.2 | awk '{printf "%-4s%-15s%-10s%-5s\n",$1,$2,$3,$4}' --需要加上 -t ' ',不加上不行,鬱悶
50 IT China 800
20 RESEARCH DALLAS 560
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
40 OPERATIONS BOSTON 5500
30 SALES CHICAGO 2800
5.按第二列的第二個字母排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -t ' ' -k2.2,2.2 | awk '{printf "%-4s%-15s%-10s%-6s\n",$1,$2,$3,$4}' --需要加上 -t ' ',不加上不行,鬱悶
30 SALES CHICAGO 2800
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
20 RESEARCH DALLAS 560
40 OPERATIONS BOSTON 5500
50 IT China 800
sort還有很多其他的選項,如果需要檢視具體的使用資訊使用 man sort檢視
[/tmp/test]# more tt1
50 IT China 800
10 ACCOUNTING LA 1100
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
40 OPERATIONS BOSTON 5500
10 DEVELOPER HOSTON 1300
1.按照第二列排序
[/tmp/test]# sort -t ' ' -k2 tt1
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
50 IT China 800
40 OPERATIONS BOSTON 5500
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
2.按照第四列降序排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -nrk4 | awk '{printf "%-4s%-20s%-10s%-5s\n",$1,$2,$3,$4}'
40 OPERATIONS BOSTON 5500
30 SALES CHICAGO 2800
10 DEVELOPER HOSTON 1300
10 ACCOUNTING LA 1100
50 IT China 800
20 RESEARCH DALLAS 560
3,按照第一列升序,第四列降序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -n -k1 -k4,4nr | awk '{printf "%-4s%-20s%-10s%-5s\n",$1,$2,$3,$4}'
10 DEVELOPER HOSTON 1300
10 ACCOUNTING LA 1100
20 RESEARCH DALLAS 560
30 SALES CHICAGO 2800
40 OPERATIONS BOSTON 5500
50 IT China 800
4.按第四列的第二個字元之後的數字排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -t ' ' -nk4.2 | awk '{printf "%-4s%-15s%-10s%-5s\n",$1,$2,$3,$4}' --需要加上 -t ' ',不加上不行,鬱悶
50 IT China 800
20 RESEARCH DALLAS 560
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
40 OPERATIONS BOSTON 5500
30 SALES CHICAGO 2800
5.按第二列的第二個字母排序
[/tmp/test]# cat tt1 | awk '{print $1,$2,$3,$4}' | sort -t ' ' -k2.2,2.2 | awk '{printf "%-4s%-15s%-10s%-6s\n",$1,$2,$3,$4}' --需要加上 -t ' ',不加上不行,鬱悶
30 SALES CHICAGO 2800
10 ACCOUNTING LA 1100
10 DEVELOPER HOSTON 1300
20 RESEARCH DALLAS 560
40 OPERATIONS BOSTON 5500
50 IT China 800
sort還有很多其他的選項,如果需要檢視具體的使用資訊使用 man sort檢視
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24237320/viewspace-2060704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 希爾排序(Shell Sort)排序
- 《shell下sort排序命令的使用》排序
- 排序sort排序
- sort排序排序
- [Shell] 統計字串出現的次數和排序(cut,sort,uniq)字串排序
- 【Shell】sort 筆記筆記
- Collections sort()排序方法排序
- 堆排序 Heap Sort排序
- Elasticsearch script sort 排序Elasticsearch排序
- 桶排序bucket sort排序
- 快速排序(Quick Sort)排序UI
- 快速排序 (Quick Sort)排序UI
- [shell基礎]——sort命令
- [Shell] Sort 和 對齊
- 氣泡排序 bubble sort排序
- Lucene 排序 Sort與SortField排序
- golang sort.Sort () 排序演算法學習Golang排序演算法
- 線性時間的排序 - Decision Tree Model & Counting Sort & Radix Sort & Bucket Sort排序
- Shell排序排序
- 排序(對於 sort 函式的使用)排序函式
- 排序演算法-氣泡排序(Bubble Sort)排序演算法
- linux sort 多列正排序,倒排序Linux排序
- Qt表格排序例子QT排序
- _sort_elimination_cost_radit和sort排序排序
- 計數排序 - Counting Sort排序
- Array.sort排序問題排序
- Collections.sort()方法,字元排序字元排序
- 插入排序(Insertion Sort)排序
- go sort.Interface 排序介面Go排序
- R排序sort、order、rank、arrange排序
- 拓撲排序 - Topological Sort排序
- [CareerCup] 3.6 Sort Stack 棧排序排序
- Linux Shell之sort命令(轉)Linux
- Sorting 排序演算法: Quick Sort 快速排序排序演算法UI
- 經典排序演算法 - 快速排序Quick sort排序演算法UI
- 深入理解python中的排序sortPython排序
- 隨機錯亂排序(sort的應用)隨機排序
- Python中用來排序的方法sort、sortedPython排序