免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

Linux數(shù)字排序命令 linux降序排列

每天一個linux命令(1)sort

sort 是將文件的每一行作為一個單位,相互比較,比較原則是從首字符向后,依次按照ASCII碼值進行比較,默認將他們按照升序輸出

創(chuàng)新互聯(lián)建站是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的做網(wǎng)站、成都做網(wǎng)站,網(wǎng)站設(shè)計,網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十載品質(zhì),值得信賴!

降序

在輸出中去重

將排序結(jié)果輸出到原文件

sort的默認輸出是輸出到標準輸出,如果想把結(jié)果輸出到文件,需要 sort file newfile,但是如果想把結(jié)果輸出到原文件這樣就不行了,這時就需要 使用sort -o

以數(shù)值來排序

sort 默認是按照字符串排序的,這樣就會出現(xiàn)10比3小的情況,sort -n 就可以告訴sort 以整數(shù)排序

-t 后面跟 分隔符

-k 后面跟數(shù)字,表示用第幾列排序

如 sort -t : -k 2 表示把每行 以:號分割,按照第二列排序

banana:30:5.5

orange:20:3.4

apple:10:2.5

我們可以看到,當baidu 和soho都是100的時候,baidu排在前面,當當前域按照默認規(guī)矩,是從第一個域開始進行升序排序,因此baidu排在了sohu前面。

sort 支持 -k 2 -k3這種模式,如果你需要,你可以繼續(xù)這么寫下去

你仔細看看,在-k 3后面偷偷加上了一個小寫字母r,r和-r的作用是一樣,你也可以把前面的-n去掉 在r后面加上n,如下

其實-k 選項 功能很強大,語法[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]

從逗號前后 分為兩大部分,即-k 2,2,是嚴格使用第一個域排序,如果只設(shè)置-k 2 其實是按照從第一個域到行尾。逗號分開的每部分又有一個點表示子域,即-k 1.2表示 按照第一個域的第二個字符排序,Modifiers就是我們用到的n和r 如 -k 1.2nr 具體我們看下面的例子。

我們使用了-k 1.2,這就表示對第一個域的第二個字符開始到本域的最后一個字符為止的字符串進行排序。你會發(fā)現(xiàn)baidu因為第二個字母是a而名列榜首。sohu和 google第二個字符都是o,但sohu的h在google的o前面,所以兩者分別排在第二和第三。這和之前說到的按照默認的排序規(guī)則 是不同的,當?shù)谝粋€域的第二個字符相同時,他不會去按照第一個字符排序,而是按照后面的字符排序,這是因為-k 1.2是對第一個域的第二個字符開始到本域的最后一個字符為止的字符串進行排序。而之前的夸域其實是一種假象。

-u只識別用-k設(shè)定的域,發(fā)現(xiàn)相同,就將后續(xù)相同的行都刪除

但是這時候,卻一行也沒有刪除。原來-u是會權(quán)衡所有-k選項,將都相同的才會刪除,只要其中有一級不同都不會輕易刪除的

可以用到b、d、f、i、n 或 r。

其中n和r你肯定已經(jīng)很熟悉了。

b表示忽略本域的簽到空白符號。

d表示對本域按照字典順序排序(即,只考慮空白和字母)。

f表示對本域忽略大小寫進行排序。

i表示忽略“不可打印字符”,只針對可打印字符進行排序。(有些ASCII就是不可打印字符,比如\a是報警,\b是退格,\n是換行,\r是回車等等)

sort 命令詳解

在linux系統(tǒng)使用過程中,提供了sort排序命令,支持常用的排序功能。

sort命令支持很多參數(shù),常用參數(shù)如下:

默認情況下,sort命令,以字母序進行文本排序。如下:

如果想對數(shù)字進行排序,可以使用-n參數(shù)

sort排序的時候,可以按字段分割的數(shù)據(jù)進行排序。-t參數(shù)表示行的分割字符,-k表示第幾列。當然,可以進行降序排序,-r參數(shù)可以實現(xiàn)。

下面是對passwd文件,以冒號(:)進行分割,然后對第三列以數(shù)字方式進行降序排序。

在du的時候,加上-h可以使用易讀性數(shù)字,比如2k,1g,3M這種。sort也支持-h參數(shù)。

比如,du一個文件夾下的目錄大小后,想以文件大小進行排序。由于du -h的結(jié)果是3k,2M,1G這種,不能簡單的按數(shù)字排序。所以,可以使用-h參數(shù)。具體如下:

查看系統(tǒng)進程中,內(nèi)存占用最多的前5個進程信息

如果文件內(nèi)容有很多重復(fù)的,需要進行去重。sort也是支持的,可以通過-u參數(shù)使用

在shell中,一般將控制臺內(nèi)容寫入文件,可以使用重定向,但如果想把sort的排序內(nèi)容寫回文件,則不能使用重定向。則需要-o參數(shù)。具體如下:

linux sort 命令整理

無論是工作中使用還是應(yīng)付各種面試,linux sort 都是必須要掌握的 linux 基本命令之一。尤其是 linux sort -k 命令,經(jīng)常會被搞暈,索性好好研究一下 sort 命令

語法:

選項:

參數(shù)就不一一介紹了,直接上例子,首先先看下原始的排序數(shù)據(jù)

cat sort.log

1、打印從哪列開始是亂序

sort -c sort.log; echo $?

sort -C sort.log; echo $?

其中,返回結(jié)果 1,表示文件不是已經(jīng)排序好的文件

2、默認排序( 整行進行ASCII字符升序)

sort sort.log

3、高能來了,讓人迷糊的 k 語法,首先看下 k 的語法格式

這個語法格式可以被其中的逗號(”,”)分為兩大部分,Start部分和End部分

Start和End部分都由三部分組成,其中的Modifier部分就是類似n和r的選項部分,可省略

FStart、Fend,表示使用的域,而CStart則表示在FStart域中從第幾個字符開始算"排序首字符",同理,CEnd表示結(jié)尾的第幾個字符是排序末尾字符,.CStart、.CEnd是可以省略的,分別表示從本域的開頭部分開始、到本域的域尾結(jié)束,CEnd設(shè)定為0,也是表示結(jié)尾到域尾。口說無憑,上幾個例子吧

3.1 對第三列進行排序,如果不加n,按照 ASCII字符排序

sort -t $'\t' -k 3 sort.log

3.2 加n后,按照數(shù)值排序

sort -t $'\t' -k 3n sort.log

3.3 不指定 FEnd 時,多個 -k 從前往后排序可以,從后往前不行

從后往前,多個 -k,數(shù)據(jù)符合預(yù)期

sort -t $'\t' -k 3n -k 1 sort.log

從后往前,多個 -k ,第三列相同時,按照第一列降序排列,數(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),在第一列相等時,無論其三列是正序排列,還是逆序排列,結(jié)果都一樣,說明后邊的 -k 未生效

當指定 FEend 后

sort -t $'\t' -k 1,1 -k 3nr sort.log

3.4 作用域

緊跟在字段后的選項(如"-k3n"的"n"和"-k2nr"的"n","r")稱為私有選項,使用短橫線寫在字段外的選項(如"-n"、"-r")為全局選項。當沒有為字段分配私有選項時,該排序字段將繼承全局選項,所有選項包括但不限于"bfnrhM"

除了"b"選項外,其余選項無論是指定在FStart還是FEnd中都是等價的,對于"b"選項,指定在FStart則作用于FStart,指定在FEnd則作用于FEnd

sort -t $'\t' -k1r,2 sort.log ,可以看出一、二列都是倒敘排列

3.5 注意

指定n選項按數(shù)值排序時, 由于"n"選項只能識別數(shù)字和負號"-",當排序時遇到無法識別字符時,將導(dǎo)致該key的排序立即結(jié)束,n選項絕對不會跨域進行比較

默認情況下,sort會進行一次 "最后的排序" ,按照默認規(guī)則對整行進行一次排序,這次排序稱為"最后的排序"

sort -t $'\t' -k3n sort.log ,在第三列相等時,整行會按照 ASCII 進行最后的升序排列

sort -t $'\t' -k3,4n -s sort.log ,加了 -s 后,不會進行最后的排序(1000相同時,e在b的前邊了),而是保留原排序

3.6 按照某個域中的第n個字符進行排序

sort -t $'\t' -k2.3,2.3 sort.log ,按第二列第三個字符進行排序

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 會對第二列進行去重,而 sort -t $'\t' -k2,2 sort.log|uniq 會對整行進行去重(當然uniq也可以按照第二列進行去重)

sort整理完了,歡迎大牛指教

linux 中 ll 命令如何讓查詢結(jié)果按時間升序或降序排序?

1、用CRT軟件連接一個Linux系統(tǒng) 。

2、打開需要查看的文件夾。 以 tmp為例。

3、用 ll 命令 查看有哪些文件。

4、默認為按照大小進行排序。 需要按照時間進行排序。

5、用 ll -t ?命令進行時間排序,這樣是默認為降序。

6、用 ll -t | tar 命令進行時間排序,這樣為升序。

linux命令:du、sort、more、cat、less

一個比較經(jīng)典的問題:

如果線上機器的磁盤占用率超級高,怎么辦?

這時候優(yōu)先想到的肯定是,定位到占用磁盤空間最大的那些文件,然后把可以刪的給刪掉。

那么,問題來了,如何定位到占用磁盤空間最大的文件?

一個辦法是執(zhí)行如下命令:

里面涉及三個指令:du、sort、more

既然用到了,就順便多了解一下這三個指令的用法,算是做下個人筆記。

首先是du

作用:用來查看文件所占用的磁盤情況。

格式:du [選項] [文件]

可用選項(如下為du --help展示的內(nèi)容):

操作示例:

對幾個比較常用的選項單獨拿出來,在機器上實際操作,效果如下:

首先,當前目錄如下:

du:

其實吧,從圖里面可以看到,使用“du”的時候,最后一行就當前目錄的磁盤使用總量,所以,感覺一般情況下-c這個選項并沒有什么用。

du -s:只計算總量

不過,注意:-s與-a不能同時存在,會報錯的。

sort

作用:對輸出的結(jié)果進行排序

可用選項:

-r:代表逆序排序

-n:按照字符串數(shù)值排序

-g:按照常規(guī)數(shù)值排序

-f:忽略字母大小寫

實測效果:

首先是測試文件的原始狀態(tài):

測試一:sort

可以發(fā)現(xiàn):

空行排在了第一位;

不管數(shù)字有多大,字符串都會排在數(shù)字的后面;

數(shù)字之間排序的時候,優(yōu)先考慮首位數(shù)字(感覺是把數(shù)字也當成了一個字符串進行排序);

more

作用:用于一頁一頁地展示文件內(nèi)容。

幾個常用操作:

空格:翻到下一頁

b:翻到上一頁

/:啟動字符串搜索(類似于vim)

此外:

more +n XXX:從XXX文件的第n行開始展示

more -n XXX:展示XXX文件,并且將n行視為一頁,也就是按空格時,只會顯示后續(xù)的N行

cat

作用:一次性的展示所有文件內(nèi)容

cat有兩個比較有用的選項:

-n:輸出所有行號

-b:只對非空行輸出行號

此外,

cat支持同時輸出多個文件的內(nèi)容:cat XXX YYYY ZZZZ

并且,cat可以與more結(jié)合使用:cat XXX | more 或者 cat XXX YYYY ZZZZ | more 或者 cat -n XXX | more

less:

作用:對文件或者輸出內(nèi)容進行分頁展示,并且less可以用于打開多個文件

常用操作:

j:向上滾動一行

k:向下滾動一行(類似于vim)

g:跳到第一行

G:跳到最后一行

b:向上翻一頁

空格:翻頁

n%:跳轉(zhuǎn)到整個文件的n%處

:e :在使用less打開多個文件時,使用“:e”選擇跳轉(zhuǎn)到其他文件去

/:進行字符串搜索

v:啟動編輯

常用選項:

-N:在每一行前面都顯示行號

-m:顯示讀取文件的百分比

-M:顯示讀取文件的百分比、行號和總行數(shù)

注意:

其他兩個比較簡單的指令:

head:顯示一個文件的前N行

用法:head -n 行數(shù) 文件名

tail:顯示一個文件的最后N行

用法:tail -n 行數(shù) 文件名

不過,使用tai的時候,因為-f選項可以自動顯示新增加的內(nèi)容,所以經(jīng)常會使用如下方式:

tail -f 文件名

新聞標題:Linux數(shù)字排序命令 linux降序排列
網(wǎng)站鏈接:http://m.newbst.com/article26/hpopjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號手機網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈網(wǎng)頁設(shè)計公司自適應(yīng)網(wǎng)站企業(yè)建站

廣告

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

營銷型網(wǎng)站建設(shè)