linux sort 指令:排序

思考:如何獲取當前目錄下文件的對應文件名、文件大小兩列,並按照文件大小進行排序,並保存到文件中?

 ls -l | awk '{print $9,$5}' | sort -t " " -k 2 -n -o st.txt

#如果要從大到小排序
 ls -l | awk '{print $9,$5}' | sort -t " " -k 2 -n  -r -o st.txt

總結下sort的用法:

Usage: sort [-bcCdfigMmnrsuz] [-kPOS1[,POS2] ... ] [+POS1 [-POS2]]
 [-S memsize] [-T tmpdir] [-t separator] [-o outfile] [--batch-size size] 
[--files0-from file] [--heapsort] [--mergesort] [--radixsort] [--qsort] [--mmap]
 [--human-numeric-sort] [--version-sort] [--random-sort [--random-source file]] [--compress-program program] [file ...]

常用的來說:

sort  [-ntkro] 文件名 

-n 採取數字排序

-t  指定分隔符

-k 指定第幾列

-r  反向排序

-o filename 輸出到文件

即可以完成常見的排序需求了;

 

eg:

# 對輸出文件進行排序
$ cat sort.txt 
a:3
b:14
c:2
d:6

# 按照第二列大小排序
$ cat sort.txt | sort -t ":" -k 2
b:14
c:2
a:3
d:6

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章