欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

linux中如何對文本進行高效排序-創(chuàng)新互聯(lián)

小編給大家分享一下linux中如何對文本進行高效排序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

10多年的常山網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整常山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“常山網(wǎng)站設計”,“常山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

按照字典順序排序

假如有文本內容test1.txt如下(偷偷問一句:你在使用哪個linux發(fā)行版?):

Debian
Gentoo
GentooCentOSFedora
ubuntu
Kali
redhat
Arch
OpenSuse

現(xiàn)在要對文本內容按照字典升序排序,只需使用下面的命令即可:

sort test1.txt

輸出結果如下:

Arch
CentOS
Debian
Fedora
Gentoo
Gentoo
Kali
OpenSuse
redhat
ubuntu

可以看到輸出結果按照字典順序的升序進行了排序。如果需要降序輸出只需要使用-r參數(shù),如:

sort -r test1.txt

輸出結果如下:

ubuntu
redhat
OpenSuse
Kali
Gentoo
Gentoo
Fedora
Debian
CentOS
Arch

去除重復行

我們看到前面有兩行的內容是重復的,即Gentoo行,使用-u參數(shù)可以去掉重復的行:
sort -u test1.txt
輸出結果如下:

Arch
CentOS
Debian
Fedora
Gentoo
Kali
OpenSuse
redhat
ubuntu

在輸出結果中,重復的Gentoo行被去掉了。

按照數(shù)字排序

假設有文本內容test2.txt如下,第一列為市值排名,第二列為公司名稱,第三列為公司創(chuàng)建時間:

2 google 1998
10 icbc 1984
5 tencent 1998
1 apple 1976
16 samsung 1938

按照前面的介紹,我們對內容排序結果如下:

10 icbc 1984
16 samsung 1938
1 apple 1976
2 google 1998
5 tencent 1998

這不對啊,16怎么在1前面呢?很顯然這是因為前面的排序都是字典排序,而我們實際需要的是按照數(shù)值大小進行排序,因此需要用到-n參數(shù):
sort -n test2.txt
最后的輸出結果如下:

1 apple 1976
2 google 1998
5 tencent 1998
10 icbc 1984
16 samsung 1938

可以看到,最終結果按照市值排名打印出來。

按照指定列排序

假如我們不想按照市值排名排序,而是按照公司名稱排序呢?那么就需要按照指定列排序了。這里需要用到兩個參數(shù):
-t 指定分隔符,未指定時,默認分隔符為空白
-k 指定列排序
需要按照第二列,公司名稱排序,因此排序命令如下:
sort -k 2 test2.txt #默認以空白作為分隔符
sort -k 2 -t ' ' sort2.txt #以空格為分隔符
結果如下:

1 apple 1976
2 google 1998
10 icbc 1984
16 samsung 1938
5 tencent 1998

可以看到,最后會以第二列,即公司名稱為依據(jù)排序輸出。

以多列為依據(jù)排序

假設我們按照公司創(chuàng)建年份排序,如果年份相同,則按照公司名稱排序,即分別以第三列,第二列為依據(jù)排序:

sort -n -k 3 -k 2 test2.txt

輸出結果如下:

16 samsung 1938
1 apple 1976
10 icbc 1984
2 google 1998
5 tencent 1998

如果要按照年份降序排序,則只需加-r參數(shù)即可:

sort -n -k 3r -k 2 test2.txt

輸出結果如下:

2 google 1998
5 tencent 1998
10 icbc 1984
1 apple 1976
16 samsung 1938

按照特定列的特定字符排序

假如我們想要按照公司名稱的第二至第三個字符排序,可以使用下面的方式:

sort -t ' ' -k 2.2,2.3 test2.txt

輸出結果如下:

16 samsung 1938
10 icbc 1984
5 tencent 1998
2 google 1998
1 apple 1976

-k 2.2,2.3指定了按照第二列排序,并且是第二列的第二個字符開始,到第三個字符結束。可以看到,由于samsung的第二個字母是a而排在開頭。如果是以第二個字符開始,到最后一個字符結束,則用下面的命令即可:

sort -t ' ' -k 2.2 test2.txt

保存排序結果

前面的排序命令僅僅是將排序結果打印到控制臺,并沒有修改源文件,如果想要將排序結果保存在文件中,需要使用-o參數(shù):

sort test1.txt -o test1.txt #直接修改源文件
sort test1.txt -o output.txt #輸出到另外一個文件
sort test1.txt > output.txt #重定向到output.txt中

如果想將排序結果保存在源文件中,只能使用-o參數(shù),而如果是其他文件,既可以使用-o參數(shù),也可以使用重定向。

檢查是否亂序

sort同樣也可以用來檢查文本內容是否已經(jīng)是排好序的。
例如:

sort -c test1.txt #打印結果,并告知無序開始的行數(shù)
sort -C test1.txt #不打印結果,但是命令的返回結果為1

合并已排序的文本

可以使用-m選項來合并已經(jīng)排好序的文本,但不會重新排序。
例如:

sort -m file1 file2

總結
以上就是使用sort命令對文本進行排序的常見使用方法,更多內容可使用man命令進行查看。常見選項如下:

-r 按照降序排列
-n 按照數(shù)值大小排列
-k 按照指定列排列
-t 指定分隔符
-u 去重
-o 輸出結果到文件中

以上是“l(fā)inux中如何對文本進行高效排序”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道!

本文題目:linux中如何對文本進行高效排序-創(chuàng)新互聯(lián)
標題來源:http://aaarwkj.com/article22/dsjdjc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、企業(yè)建站網(wǎng)站設計公司、響應式網(wǎng)站、網(wǎng)頁設計公司、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
亚洲人妻不卡一区二区| 欧美电影剧情av在线| 91久久精品中文字幕| 99久久中文字幕伊人| 亚洲精品午夜在线观看| 欧美亚洲另类色自拍偷拍| 亚洲欧美日韩精品麻豆| 亚洲av成人一区二区三区| 日本a级免费大片网站| 精品国产50部农村老熟女av| 亚洲成人爱情动作片在线观看| 欧美日韩另类综合一区| 欧美黄色免费电影网站| 欧美日韩福利视频在线| 久久精品国产亚洲av清纯| 99热在线播放精品观看| 蜜桃av网站免费观看| 中文字幕91在线播放| 国产网爆热门精品一区二区| 欧美日韩精品国产精品| 国产精品乱码精品久久久| 免费午夜福利在线观看| 亚洲日本一区二区高清| 欧美亚洲综合另类色妞| 国产自拍在线视频精品| 国产视频一区2区三区| 国产毛片精品一区内射| 亚洲成人午夜激情在线| 国产原创av剧情六区| 欧美一级午夜欧美午夜视频| 最新免费观看男女啪啪视频| 男女做爰高清无遮挡免费| 亚洲精品成人久久网| 午夜午色夜之日本福利片| 天天干夜夜泡天天操| 男女视频午夜刺激一区二区| 国产特级黄色片免费看| 男人天堂手机视频在线| 高潮内射一区二区三区| 国产精品美女露脸av毛片| 免费黄色日韩在线观看|