首頁 > 軟體

Linux Sort命令的七個有趣範例(二)

2020-06-16 18:00:57

上一篇文章裡,我們已經探討了關於sort命令的多個例子,如果你錯過了這篇文章,可以點選下面的連結進行閱讀。今天的這篇文章作為上一篇文章的繼續,將討論關於sort命令的剩餘用法,與上一篇一起作為Linux ‘sort’命令的完整指南。

在我們繼續深入之前,先建立一個文字文件‘month.txt’,並且將上一次給出的資料填進去。

  1. $ echo -e "marndecnoctnsepnfebnaug"> month.txt
  2. $ cat month.txt

15、 通過使用’M‘選項,對’month.txt‘檔案按照月份順序進行排序。

  1. $ sort -M month.txt

注意:‘sort’命令需要至少3個字元來確認月份名稱。

16、 把資料整理成方便人們閱讀的形式,比如1K、2M、3G、2T,這裡面的K、G、M、T代表千、兆、吉、梯。 (LCTT 譯註:此處命令有誤,ls 命令應該增加 -h 引數,徑改之)

  1. $ ls -lh /home/$USER | sort -h -k5

17、 在上一篇文章中,我們在例子4中建立了一個名為‘sorted.txt’的檔案,在例子6中建立了一個‘lsl.txt’。‘sorted.txt'已經排好序了而’lsl.txt‘還沒有。讓我們使用sort命令來檢查兩個檔案是否已經排好序。

  1. $ sort -c sorted.txt

如果它返回0,則表示檔案已經排好序。

  1. $ sort -c lsl.txt

報告無序。存在矛盾……

18、 如果文字之間的分隔符是空格,sort命令自動地將空格後的東西當做一個新文字單元,如果分隔符不是空格呢?

考慮這樣一個文字檔案,裡面的內容可以由除了空格之外的任何符號分隔,比如‘|’,‘’,‘+’,‘.’等……

建立一個分隔符為+的文字檔案。使用‘cat‘命令檢視檔案內容。

  1. $ echo -e "21+linux+server+productionn11+debian+RedHat+CentOSn131+Apache+Mysql+PHPn7+Shell Scripting+python+perln111+postfix+exim+sendmail"> delimiter.txt

  1. $ cat delimiter.txt

現在基於由數位組成的第一個域來進行排序。

  1. $ sort -t '+'-nk1 delimiter.txt

然後再基於非數位的第四個域排序。

如果分隔符是製表符,你需要在’+‘的位置上用$’t’代替,如上例所示。

19、 對主使用者目錄下使用‘ls -l’命令得到的結果基於第五列(‘檔案大小’)進行一個亂序排列。

  1. $ ls -l /home/avi/| sort -k5 -R

每一次你執行上面的指令碼,你得到結果可能都不一樣,因為結果是隨機生成的。

正如我在上一篇文章中提到的規則2所說——sort命令會將以小寫字母開始的行排在大寫字母開始的行前面。看一下上一篇文章的例3,字串‘laptop’在‘LAPTOP’前出現。

更多詳情見請繼續閱讀下一頁的精彩內容http://www.linuxidc.com/Linux/2015-05/116997p2.htm


IT145.com E-mail:sddin#qq.com