sort命令是linux系統中非常常用的一個排序命令,sort的工作原理就是將文件的每一行作爲一個單位,相互比較,比較原則是從首字符向後,依次按ASCII碼進行比較,然後按照順序輸出。
sort常用選項:
-n:--number-sort 按字符串數值排序,與-g區別爲不轉爲浮點數
-g:--general-number-sort按通用數值排序,支持科學計數法
-f:--gnore-case忽略大小寫,默認大小寫字母不同
-k:--key=POS1[,POS2] 排序從POS1開始,若指定POS2,則POS2結束,否則以pos1排序
-t:--field-separator=SEP指定列的分割符
-r:--reverse降序排序,默認爲升序
-h:--human-numeric-sort使用易讀性數字(例如: 2K 1G)
-u:--unique去除重複的行
-o:--output=FILE將輸出寫入文件
指定列排序:
sort -t ':' -k 3 -r /etc/passwd#-t指定分隔符爲冒號,-k指定按照第3列排序,-r按照降序排列(默認是升序)
查看進程佔用內存,並按照佔用從大到小排序,顯示最大的8個進程
ps aux|sort -gr -k 4 |head -n 8
查看目錄佔用情況,按照從大到小排序
du -h -d 1|sort -hr
du -h -d 1|sort -nr