今天就跟大家聊聊有關Linux的‘sort’命令是怎樣用的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
目前創(chuàng)新互聯(lián)建站已為上1000+的企業(yè)提供了網站建設、域名、網站空間、網站托管、服務器托管、企業(yè)網站設計、四方臺網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
sort是什么
Sort是用于對單個或多個文本文件內容進行排序的Linux程序。
Sort命令以空格作為字段分隔符,將一行分割為多個關鍵字對文件進行排序。
請注意,除非你將輸出重定向到文件中,否則Sort命令并不對文件內容進行實際的排序(即文件內容沒有修改),只是將文件內容按有序輸出。
實戰(zhàn)演示
1、目標文件創(chuàng)建
首先創(chuàng)建一個用于執(zhí)行‘sort’命令的文本文件(tecmint.txt)。
工作路徑是‘/home/$USER/Desktop/tecmint’。
下面命令中的‘-e’選項將啟用‘\’轉義,將‘\n’解析成換行:
2、查看文件
在開始學習‘sort’命令前,我們先看看文件的內容及其顯示方式:
3、基礎排序
現(xiàn)在,使用如下命令對文件內容進行排序。
注意:上面的命令并不對文件內容進行實際的排序,僅僅是將其內容按有序方式輸出。
4、排序并輸出
對文件‘tecmint.txt’文件內容排序,并將排序后的內容輸出到名為sorted.txt的文件中,然后使用cat命令查看驗證sorted.txt文件的內容。
5、逆序排列
現(xiàn)在使用‘-r’參數(shù)對‘tecmint.txt’文件內容進行逆序排序,并將輸出內容重定向到‘reversesorted.txt’文件中,并使用cat命令查看文件的內容。
6、穿建新文件
創(chuàng)建一個新文件(lsl.txt),文件內容為在home目錄下執(zhí)行‘ls -l’命令的輸出。
我們將會看到對其他字段進行排序的例子,而不是對默認的開始字符進行排序。
7、基于某列符號連接數(shù)量排序
基于第二列(符號連接的數(shù)量)對文件‘lsl.txt’進行排序。
注意:上面例子中的‘-n’參數(shù)表示對數(shù)值內容進行排序。當想基于文件中的數(shù)值列對文件進行排序時,必須要使用‘-n’參數(shù)。
8、基于某列名稱排序
基于第9列(文件和目錄的名稱,非數(shù)值)對文件‘lsl.txt’進行排序。
9、輸出內容重定向
sort命令并非僅能對文件進行排序,我們還可以通過管道將命令的輸出內容重定向到sort命令中。
10、排序并去重
對文件tecmint.txt進行排序,并刪除重復的行。然后檢查重復的行是否已經刪除了。
排序規(guī)則:
除非指定了‘-r’參數(shù),否則排序的優(yōu)先級按下面規(guī)則排序
以數(shù)字開頭的行優(yōu)先級***
以小寫字母開頭的行優(yōu)先級次之
待排序內容按字典序進行排序
默認情況下,‘sort’命令將帶排序內容的每行關鍵字當作一個字符串進行字典序排序(數(shù)字優(yōu)先級***,參看規(guī)則 1)
11、輸出內容
在當前位置創(chuàng)建第三個文件‘lsla.txt’,其內容用‘ls -lA’命令的輸出內容填充。
了解ls命令的讀者都知道‘ls -lA’ 等于 ‘ls -l’ + 隱藏文件,所以這兩個文件的大部分內容都是相同的。
12、兩個文件排序輸出
對上面兩個文件內容進行排序輸出。
13、兩個文件排序合并并去重
現(xiàn)在我們看看怎樣對兩個文件進行排序、合并,并且刪除重復行。
此時,我們注意到重復的行已經被刪除了,我們可以將輸出內容重定向到文件中。
14、基于多列排序
我們同樣可以基于多列對文件內容進行排序?;诘?,5(數(shù)值)和9(非數(shù)值)列對‘ls -l’命令的輸出進行排序。
看完上述內容,你們對Linux的‘sort’命令是怎樣用的有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。