亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1. 前言

linux中的sort命令用于對文本文件的內(nèi)容進(jìn)行排序。本教程向您展示了sort命令的一些基本示例。

Linux中的sort命令sort命令以有用的方式排列文本行。這個(gè)簡單的工具可以幫助您快速地從命令行對信息進(jìn)行排序。

語法:

sort [options] <filename>

你應(yīng)該注意幾件事:

當(dāng)您使用沒有任何選項(xiàng)的排序時(shí),將強(qiáng)制執(zhí)行默認(rèn)規(guī)則。它有助于理解默認(rèn)規(guī)則以避免意外結(jié)果。在使用sort時(shí),原始文件和數(shù)據(jù)是安全的。輸入的結(jié)果只顯示在命令行上。但是,也可以根據(jù)具體需求,將輸出結(jié)果指定保存為單獨(dú)的文件。稍后再詳細(xì)介紹。sort最初設(shè)計(jì)用于ASCII字符。我沒有對大量不同編碼進(jìn)行測試,但是不同的編碼可能會(huì)產(chǎn)生意想不到的結(jié)果。

Linux中10大常用命令之sort使用案例

Linux中10大常用命令之sort使用案例

 

2. `sort`命令使用案例

Linux中10大常用命令之sort使用案例

sort命令使用案例

 

sort命令中的默認(rèn)規(guī)則這些是使用sort命令時(shí)的默認(rèn)規(guī)則。前幾個(gè)例子將說明如何管理這些優(yōu)先級(jí)。然后,我們將查看特定選項(xiàng)。

  • 數(shù)字 > 字母
  • 小寫 > 大寫

2.1 `sort`命令使用規(guī)則

讓我向您展示一些排序命令的例子,您可以在各種情況下使用它們。

  1. 按字母順序排序
    默認(rèn)的排序命令可以方便地按字母順序查看信息。不需要任何選項(xiàng),即使大小寫字母混合的情況下,A-Z排序也可以按預(yù)期工作。

我將使用一個(gè)名為filename.txt的示例文本文件,如果您查看該文件的內(nèi)容,您將看到以下內(nèi)容:

MX Linux
Manjaro
Mint
elementary
Ubuntu
sort filename.txt

以下是按字母順序排列的輸出結(jié)果:

elementary
Manjaro
Mint
MX Linux
Ubuntu
Linux中10大常用命令之sort使用案例

Linux使用sort命令對文本內(nèi)容進(jìn)行排序

 

2.2 按數(shù)值排序[選項(xiàng)-n]

讓我們使用上一個(gè)例子中使用的列表,并按數(shù)字順序排序。如果你想知道,根據(jù)distrowatch.com網(wǎng)站,該榜單反映了最受歡迎的Linux發(fā)行版(2019年7月)。

我將修改文件的內(nèi)容,使項(xiàng)目編號(hào),但順序如下所示。

1. MX Linux
4. elementary
2. Manjaro
5. Ubuntu
3. Mint
sort filename.txt

排序后得到:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

看起來不錯(cuò)。但是,您能依靠這種方法來準(zhǔn)確地排列數(shù)據(jù)嗎?可能不會(huì)。讓我們看另一個(gè)例子來找出原因。

這是我的新建的演示文本:

1
5
10
3
5
2
60
23
432
21

現(xiàn)在,如果我使用sort命令沒有任何選項(xiàng),這是我得到的:

sort order.txt
1
10
2
21
23
3
432
5
5
60

注意:數(shù)字僅按其開頭(第一個(gè)字符)的數(shù)字排序。

當(dāng)您添加-n選項(xiàng)時(shí),現(xiàn)在正在計(jì)算字符串的數(shù)值,而不僅僅是第一個(gè)字符?,F(xiàn)在,您可以在下面看到我們的列表得到了適當(dāng)?shù)呐判颉?/p>

sort order.txt -n

現(xiàn)在你將有正確排序的輸出結(jié)果:

1
2
3
5
5
10
21
23
60
432

2.3 反向排序[選項(xiàng)-r]

對于這個(gè),我將再次使用我們的發(fā)行版列表。它將對任何內(nèi)容進(jìn)行反向排序。

sort filename.txt -r

反向排序

5. Ubuntu
4. elementary
3. Mint
2. Manjaro
1. MX Linux

2.4 隨機(jī)排序[選項(xiàng)-R]

如果您在嘗試反向排序參數(shù)時(shí)不小心按了shift鍵,您可能會(huì)得到一些奇怪的結(jié)果。-R按隨機(jī)順序重新排列輸出。

sort filename.txt -R

以下是隨機(jī)排列的結(jié)果:

4. elementary
1. MX Linux
2. Manjaro
5. Ubuntu
3. Mint

2.5 按月份排序[選項(xiàng)-M]

sort還內(nèi)置了按月份排序的功能。它可以基于特定地區(qū)的信息識(shí)別多種格式。

下面是這個(gè)例子中的文本文件示例:

March
Feb
February
April
August
July
June
November
October
December
May
September
1
4
3
6
01/05/19
01/10/19
02/06/18

使用-M選項(xiàng)按月排序的輸出結(jié)果:

sort filename.txt -M

下面是輸出結(jié)果:

01/05/19
01/10/19
02/06/18
1
3
4
6
Jan
Feb
February
March
April
May
June
July
August
September
October
November
December

2.6 將排序后的結(jié)果保存到另一個(gè)文件中

如前所述,默認(rèn)情況下sort不會(huì)更改原始文件。如果需要保存已排序的內(nèi)容,可以這樣做。

對于本例,我創(chuàng)建了一個(gè)新文件,我希望打印已排序的信息并將其保存為filename_sort .txt。

注意:如果您試圖將排序后的數(shù)據(jù)定向到同一個(gè)文件,它將擦除文件的內(nèi)容。

sort filename.txt -n > filename_sorted.txt

如果使用cat命令查看輸出文件,這將是它的內(nèi)容:

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu

2.7 排序特定列[選項(xiàng)-k]

如果文件中有一個(gè)表,可以使用-k選項(xiàng)指定要排序的列。我添加了一些任意數(shù)字作為第三列,并將顯示按每一列排序的輸出。我已經(jīng)包括了幾個(gè)例子來展示各種可能的輸出。選項(xiàng)在列號(hào)后面添加。

1. MX Linux 100
2. Manjaro 400
3. Mint 300
4. elementary 500
5. Ubuntu 200
sort filename.txt -k 2

將文件中的第二列內(nèi)容按字母順序:

4. elementary 500
2. Manjaro 400
3. Mint 300
1. MX Linux 100
5. Ubuntu 200
sort filename.txt -k 3n

這將根據(jù)第三列的數(shù)字對文本進(jìn)行排序。

1. MX Linux 100
5. Ubuntu 200
3. Mint 300
2. Manjaro 400
4. elementary 500
sort filename.txt -k 3nr

與上面的命令相同,只是排序順序顛倒了。

4. elementary 500
2. Manjaro 400
3. Mint 300
5. Ubuntu 200
1. MX Linux 100

2.8 排序并刪除重復(fù)項(xiàng)[選項(xiàng)-u]

如果您有一個(gè)具有內(nèi)容重復(fù)的文件,-u選項(xiàng)將使您的工作更輕松。請記住,排序不會(huì)對原始數(shù)據(jù)文件進(jìn)行更改。我選擇創(chuàng)建一個(gè)新文件,其中只包含重復(fù)的項(xiàng)。在下面,您將看到命令運(yùn)行后的輸入和每個(gè)文件的內(nèi)容。

1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
1. MX Linux
2. Manjaro
3. Mint
4. elementary
5. Ubuntu
sort filename.txt -u > filename_duplicates.txt

這里是輸出文件排序和去重的結(jié)果。

1. MX Linux 
2. Manjaro 
3. Mint 
4. elementary 
5. Ubuntu

2.9 排序時(shí)忽略大小寫[選項(xiàng)-f]

許多運(yùn)行sort的現(xiàn)代發(fā)行版在默認(rèn)情況下會(huì)實(shí)現(xiàn)忽略大小寫。如果沒有,添加-f選項(xiàng)將產(chǎn)生預(yù)期的結(jié)果。

sort filename.txt -f

下面是sort命令忽略大小寫的輸出:

alpha
alPHa
Alpha
ALpha
beta
Beta
BEta
BETA

2.10 按人類格式數(shù)值排序[選項(xiàng)-h]

這個(gè)選項(xiàng)允許比較字母數(shù)字值,比如1k(即1000)。

sort filename.txt -h

這是排序后的輸出:

10.0
100
1000.0
1k

3. 結(jié)論

我希望本教程能夠幫助您了解Linux中sort命令的基本用法。sort命令通常與Linux中的uniq命令結(jié)合使用,用于對文本文件進(jìn)行唯一的排序。

如果你有一些更好的應(yīng)用安全,請留言給大家分享吧。

本文已同步至博客站,尊重原創(chuàng),轉(zhuǎn)載時(shí)請?jiān)谡闹懈綆б韵骆溄樱篽ttps://www.linuxrumen.com/cyml/1685.html

點(diǎn)擊了解更多,快速查看更多的技術(shù)文章列表

分享到:
標(biāo)簽:命令 Linux
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定