新聞中心
在日常的Linux系統(tǒng)操作中,經(jīng)常需要對文本文件進(jìn)行排序操作。sort是Linux系統(tǒng)中常用的命令之一,能夠?qū)ξ谋疚募膬?nèi)容進(jìn)行排序操作。sort命令不僅可以對文本進(jìn)行字母順序排序,還可以實(shí)現(xiàn)數(shù)字大小排序。本文將以作為主題進(jìn)行探討。

在濟(jì)南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,濟(jì)南網(wǎng)站建設(shè)費(fèi)用合理。
一、使用sort命令實(shí)現(xiàn)數(shù)字大小排序
sort命令默認(rèn)使用字母順序進(jìn)行排序,如果需要實(shí)現(xiàn)數(shù)字大小排序,則需要使用-n參數(shù)。下面是一個(gè)例子:
“`shell
$ cat number.txt
$ sort -n number.txt
“`
可以看出,sort命令對數(shù)字進(jìn)行了大小排序,而不是按照字母順序排序。 sort命令還支持對多個(gè)文本文件進(jìn)行排序,例如:
“` shell
$ cat number1.txt
$ cat number2.txt
$ sort -n number1.txt number2.txt
“`
如果要按照數(shù)字大小的倒序進(jìn)行排序,則需要使用-r參數(shù),例如:
“` shell
$ cat number.txt
$ sort -nr number.txt
“`
二、sort命令的其他參數(shù)
1. -k
sort命令還支持使用-k參數(shù)指定按照哪一列進(jìn)行排序。例如:
“` shell
$ cat student.txt
zhangsan 18 75
lisi 20 85
wangwu 19 90
$ sort -k 2 student.txt
zhangsan 18 75
wangwu 19 90
lisi 20 85
“`
這里,我們使用-k參數(shù)指定按照第二列進(jìn)行排序。
2. -t
sort命令還支持使用-t參數(shù)指定列分隔符,默認(rèn)情況下,sort命令的列分隔符為制表符。例如:
“` shell
$ cat student_space.txt
zhangsan 18 75
lisi 20 85
wangwu 19 90
$ sort -t ‘ ‘ -k 2 student_space.txt
zhangsan 18 75
wangwu 19 90
lisi 20 85
“`
這里,我們使用-t參數(shù)指定列分隔符為空格。
三、結(jié)論
sort命令是Linux系統(tǒng)中一個(gè)很強(qiáng)大的命令,能夠?qū)ξ谋具M(jìn)行排序操作。對于需要實(shí)現(xiàn)數(shù)字大小排序的情況,我們只需要使用sort命令的-n參數(shù)即可。sort命令還支持對多個(gè)文本文件進(jìn)行排序,以及按照指定列和分隔符進(jìn)行排序。使用sort命令,我們能夠方便地對文本進(jìn)行排序操作,提高工作效率。
相關(guān)問題拓展閱讀:
- linux sort 命令整理
- Linux里面sort -M file3命令作用是什么?
linux sort 命令整理
無論是工作中使用還是應(yīng)付各種面試,linux sort 都是必須要掌握的 linux 基本命令之一。尤其是 linux sort -k 命令,經(jīng)常會(huì)被搞暈,索性好好研究一下 sort 命令
語法:
選項(xiàng):
參數(shù)就不一一介紹了,直接上例子,首先先看下原始的排序數(shù)據(jù)
cat sort.log
1、打印從哪列開始是亂序
sort -c sort.log; echo $?
sort -C sort.log; echo $?
其中,返回結(jié)果 1,表示文件不是已經(jīng)排序好的文件
2、默認(rèn)排序( 整行進(jìn)行ASCII字符升序)
sort sort.log
3、高能來了,讓人迷糊的 k 語法,首先看下 k 的語法格式
這個(gè)語法格式可以被其中的逗號(”,”)分為兩大部分,Start部分和End部分
Start和End部分都由三部分組成,其中的Modifier部分就是類似n和r的選項(xiàng)部分,可省略
FStart、Fend,表示使用的域,而CStart則表示在FStart域中從第幾個(gè)字符開始算”排序首字符”,同理,CEnd表示結(jié)尾的第幾個(gè)字符是排序末尾字符,.CStart、.CEnd是可以省略的,分別表示從本域的開頭部分開始、到本域的域尾結(jié)束,CEnd設(shè)定為0,也是表示結(jié)尾到域尾??谡f無憑,上幾個(gè)例子吧
3.1 對第三列進(jìn)行排序,如果不加n,按照 ASCII字符排序
sort -t $’\t’ -k 3 sort.log
3.2 加n后,按照數(shù)值排序
sort -t $’\t’ -k 3n sort.log
3.3 不指定 FEnd 時(shí),多個(gè) -k 從前往后排序可以,從后往前不行
從后往前,多個(gè) -k,數(shù)據(jù)符合預(yù)期
sort -t $’\t’ -k 3n -k 1 sort.log
從后往前,多個(gè) -k ,第三列相同時(shí),按照之一列降序排列,數(shù)據(jù)符合預(yù)期
sort -t $’\t’ -k 3n -k 1r sort.log
更換成從前往后
sort -t $’\t’ -k 1 -k 3n sort.log
sort -t $’\t’ -k 1 -k 3nr sort.log
通過 sort -t $’\t’ -k 1 -k 3n sort.log 和 sort -t $’\t’ -k 1 -k 3nr sort.log 返回的結(jié)果發(fā)現(xiàn),在之一列相等時(shí),無論其三列是正序排列,還是逆序排列,結(jié)果都一樣,說明后邊的 -k 未生效
當(dāng)指定 FEend 后
sort -t $’\t’ -k 1,1 -k 3nr sort.log
3.4 作用域
緊跟在字段后的選跡謹(jǐn)項(xiàng)(如”-k3n”的”n”和”-k2nr”的”n”,”r”)稱為私有選項(xiàng),使用短橫線寫在字段外的選項(xiàng)(如”-n”、”-r”)為全局選項(xiàng)。當(dāng)沒有為字段分配私有選項(xiàng)時(shí),該排序者返字段將繼承全局選項(xiàng),所有選項(xiàng)包括但不限于”bfnrhM”
除了”b”選項(xiàng)外,其余選項(xiàng)無論是指定在FStart還是FEnd中都是等價(jià)的,對于”b”選項(xiàng),指定在FStart則作用于FStart,指定在FEnd則作用于FEnd
sort -t $’\t’ -k1r,2 sort.log ,可以看出一、二列都是倒敘排列
3.5 注意
指定n選項(xiàng)按數(shù)值排序時(shí), 由于”n”選項(xiàng)只能識(shí)別數(shù)字和負(fù)號”-“,當(dāng)排序時(shí)遇到無法識(shí)別字符時(shí),將導(dǎo)致該key的排序立即結(jié)束,n選項(xiàng)絕對不會(huì)跨域進(jìn)行比較
默認(rèn)情況下,sort會(huì)進(jìn)行一次
“最后的排序”
,按照默認(rèn)規(guī)則對整行進(jìn)行一次排序,這次排序稱為”最后的排序”
sort -t $’\t’ -k3n sort.log ,在第三列相等時(shí),整行會(huì)按照 ASCII 進(jìn)行最后的升序排列
sort -t $’\t’ -k3,4n -s sort.log ,加了 -s 后,不會(huì)進(jìn)行最后的排序(1000相同時(shí),e在b的前邊了),而是保留原排序
3.6 按照某個(gè)姿嫌基域中的第n個(gè)字符進(jìn)行排序
sort -t $’\t’ -k2.3,2.3 sort.log ,按第二列第三個(gè)字符進(jìn)行排序
4、 -h 使用易讀性數(shù)字(例如:2K、1G)
sort -t $’\t’ -k5h sort.log
sort -t $’\t’ -k2,2 sort.log|uniq
sort -t $’\t’ -k2,2 -u sort.log 會(huì)對第二列進(jìn)行去重,而 sort -t $’\t’ -k2,2 sort.log|uniq 會(huì)對整行進(jìn)行去重(當(dāng)然uniq也可以按照第二列進(jìn)行去重)
sort整理完了,歡迎大牛指教
Linux里面sort -M file3命令作用是什么?
sort的-M是將前面3個(gè)字母依照月份的縮寫進(jìn)行排序,但是用的很少。
sort常用參數(shù):
-n 依照數(shù)值的大小排序。
-u 意味著是唯一的(unique),輸出的結(jié)果是去完重了的。
-r 以相反的順序來排序。
-t 指定排序時(shí)所用的欄位分隔字符。
sort企業(yè)案例見連接
網(wǎng)頁鏈接
Linux中sort命令的功能說明,如下所示;
sort命令功能:
排序文件并輸出,
sort命令既可以對特定文件進(jìn)行排序輸出,也可以從stdin中獲取輸入
sort命令的語法格式:
sort
參數(shù)說明—–
-b:忽略每行前面開始出的空格字符
-c:檢查文件是否已經(jīng)按照順序排序
-d:排序時(shí),處理英文字母、數(shù)字及空格字符外,忽略其他的字符
-f:排序時(shí),將小寫字母視為大寫字母
-i:排序時(shí),除了040至176之間的ASCII字符外,忽略其他的字符
-m:將幾個(gè)排序號的文件進(jìn)行合并
-M:將前面3個(gè)字母依照月份的縮寫進(jìn)行排序
-n:依照數(shù)值的大小排序
-o:將排序后的結(jié)果存入制定的文件
-r:以相反的順序來排序
-t:指定排序時(shí)所用的欄位分隔字符
-k:指定需要排序的欄位
例:
sort命令 的示例分享
# cat t.c
#include
#include
#include
int main(){undefined
char c;
while(Read(0,&c,1) !=0)
Write(1,&c,1);
return 0;
}
# sort t.c
}
char c;
#include
#include
#include
int main(){undefined
return 0;
while(Read(0,&c,1) !=0)
linux sort按數(shù)字大小排序的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux sort按數(shù)字大小排序,Linux sort命令實(shí)現(xiàn)數(shù)字大小排序,linux sort 命令整理,Linux里面sort -M file3命令作用是什么?的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章標(biāo)題:Linuxsort命令實(shí)現(xiàn)數(shù)字大小排序(linuxsort按數(shù)字大小排序)
文章起源:http://m.fisionsoft.com.cn/article/ccsoodc.html


咨詢
建站咨詢
