Linux 的”sort”命令的七個有趣例項
在上一篇文章裡,我們已經探討了關於sort命令的多個例子,如果你錯過了這篇文章,可以點選下面的連結進行閱讀。今天的這篇文章作為上一篇文章的繼續,將討論關於sort命令的剩餘用法,與上一篇一起作為Linux ‘sort’命令的完整指南。
在我們繼續深入之前,先建立一個文字文件‘month.txt’,並且將上一次給出的資料填進去。
$ echo -e "mar/ndec/noct/nsep/nfeb/naug" > month.txt $ cat month.txt
15、 通過使用’M‘選項,對’month.txt‘檔案按照月份順序進行排序。
$ sort -M month.txt
注意:‘sort’命令需要至少3個字元來確認月份名稱。
16、 把資料整理成方便人們閱讀的形式,比如1K、2M、3G、2T,這裡面的K、G、M、T代表千、兆、吉、梯。 (LCTT 譯註:此處命令有誤,ls 命令應該增加 -h 引數,徑改之)
$ ls -lh /home/$USER | sort -h -k5
17、 在上一篇文章中,我們在例子4中建立了一個名為‘sorted.txt’的檔案,在例子6中建立了一個‘lsl.txt’。‘sorted.txt’已經排好序了而’lsl.txt‘還沒有。讓我們使用sort命令來檢查兩個檔案是否已經排好序。
$ sort -c sorted.txt
如果它返回0,則表示檔案已經排好序。
$ sort -c lsl.txt
報告無序。存在矛盾……
18、 如果文字之間的分隔符是空格,sort命令自動地將空格後的東西當做一個新文字單元,如果分隔符不是空格呢?
考慮這樣一個文字檔案,裡面的內容可以由除了空格之外的任何符號分隔,比如‘|’,‘/’,‘+’,‘.’等……
建立一個分隔符為+的文字檔案。使用‘cat‘命令檢視檔案內容。
$ echo -e "21+linux+server+production/n11+debian+RedHat+CentOS/n131+Apache+Mysql+PHP/n7+Shell Scripting+python+perl/n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt
現在基於由數字組成的第一個域來進行排序。
$ sort -t '+' -nk1 delimiter.txt
然後再基於非數字的第四個域排序。
如果分隔符是製表符,你需要在’+‘的位置上用$’/t’代替,如上例所示。
19、 對主使用者目錄下使用‘ls -l’命令得到的結果基於第五列(‘檔案大小’)進行一個亂序排列。
$ ls -l /home/avi/ | sort -k5 -R
每一次你執行上面的指令碼,你得到結果可能都不一樣,因為結果是隨機生成的。
正如我在上一篇文章中提到的規則2所說——sort命令會將以小寫字母開始的行排在大寫字母開始的行前面。看一下上一篇文章的例3,字串‘laptop’在‘LAPTOP’前出現。
20、 如何覆蓋預設的排序優先權?在這之前我們需要先將環境變數LC_ALL的值設定為C。在命令列提示欄中執行下面的程式碼。
$ export LC_ALL=C
然後以非預設優先權的方式對‘tecmint.txt’檔案重新排序。
$ sort tecmint.txt
覆蓋排序優先權
不要忘記與example 3中得到的輸出結果做比較,並且你可以使用‘-f’,又叫‘-ignore-case’(忽略大小寫)的選項來獲取更有序的輸出。
$ sort -f tecmint.txt
21、 給兩個輸入檔案進行‘sort‘,然後把它們連線成一行!
我們建立兩個文字文件’file1.txt‘以及’file2.txt‘,並用資料填充,如下所示,並用’cat‘命令檢視檔案的內容。
$ echo -e “5 Reliable/n2 Fast/n3 Secure/n1 open-source/n4 customizable” > file1.txt $ cat file1.txt
用如下資料填充’file2.txt‘。
$ echo -e “3 RedHat/n1 Debian/n5 Ubuntu/n2 Kali/n4 Fedora” > file2.txt $ cat file2.txt
現在我們對兩個檔案進行排序並連線。
$ join <(sort -n file1.txt) <(sort file2.txt)
我所要講的全部內容就在這裡了,希望與各位保持聯絡,也希望各位經常來逛逛。有反饋就在下面評論吧。
相關文章
- Linux 中 sort 命令的14個有用的範例(一)Linux
- 6個有趣的Linux命令Linux
- Linux中的15個‘echo’ 命令例項Linux
- linux下有趣的幾個命令Linux
- 酷炫:6個有趣的Linux命令Linux
- 9 個超有趣的 Linux 命令動畫演示Linux動畫
- 有趣常用的linux命令Linux
- Tee命令的幾個使用例項
- Linux命令:grep命令AND、OR、NOT例項Linux
- 【轉】linux中的sort命令Linux
- 10個非常有趣的Linux命令【轉載】Linux
- 5個經典有趣的 Linux 命令列技巧Linux命令列
- Linux 中的 JQ 命令使用例項Linux
- Linux中ip命令的使用例項Linux
- Linux 中 ss 命令的使用例項Linux
- Linux中的basename命令使用例項Linux
- 一個有趣的CSS例項——模擬Google公司LogoCSSGo
- 10條有趣的Linux命令Linux
- 有趣的linux命令總結Linux
- Linux sort命令Linux
- findmnt 命令的八個應用例項
- 娛樂 | 14個簡單、有趣、好玩的Linux命令Linux
- Linux 中命令連結操作符的十個最佳例項Linux
- 今天11月22日小雪,linux幾個有趣的命令Linux
- RMAN Crosscheck 和 Delete 命令的 2 個例項ROSdelete
- RMAN Crosscheck 和 Delete 命令的2個例項ROSdelete
- Linux系統中的basename命令使用例項Linux
- 15個Linux Grep命令使用例項(實用、常用)Linux
- 你值得了解的 10 個有趣的 Linux 命令列小技巧Linux命令列
- 終端中的樂趣:6個有趣的Linux命令列工具Linux命令列
- 10 條真心有趣的 Linux 命令Linux
- cut命令的使用例項
- Linux中head命令例項Linux
- Linux中printf命令使用例項Linux
- Linux中介紹who命令例項Linux
- Linux基礎命令---sortLinux
- Linux基礎命令—sortLinux
- linux命令詳解:sortLinux