日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

利用sort对多字段排序

發(fā)布時間:2023/11/27 生活经验 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用sort对多字段排序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

線上直播環(huán)境中需要從nginx訪問日志中分析每個client在一個小時內(nèi)的訪問情況,需要使用sort對多重字段進行排序。

sort基礎(chǔ)知識回顧

下面是需要用到的sort的知識點:

sort語法
[root@www ~]# sort [-fbMnrtuk] [file or stdin]
選項與參數(shù):
-f :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n :使用『純數(shù)字』進行排序(默認是以文字型態(tài)來排序的);
-r :反向排序;
-u :就是 uniq ,相同的數(shù)據(jù)中,僅出現(xiàn)一行代表;
-t :分隔符,默認是用 [tab] 鍵來分隔;
-k :以那個區(qū)間 (field) 來進行排序的意思(其中,用來指明選定域的結(jié)束位置,默認到行尾)

其中我們需要知道-k這個選項。

我們先看一個簡單的例子:

對使用冒號分隔的第三項(到末尾)進行排序(department_id),并去掉重復(fù)項

$?sort -t: -u -k 3 names.txt?
Emma Thomas:100:Marketing?
Madison Randy:300:Product Development?
Alex Jason:200:Sales?
Sanjay Gupta:400:Support

如果要對/etc/passwd,先以第六個域的第2個字符到第4個字符進行正向排序,再基于第一個域進行反向排序。
cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r?
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh

下面對指定字段的多重排序問題再做強調(diào):

sort?sort_demo.txt?-k1,1?-k2n,2
這里先按第2列排序,再按照第1列排序。注意, 這里按第一列排序應(yīng)該寫成-k1,1而不能是-k1
業(yè)務(wù)日志分析

下面是分析日志,檢查那些response body響應(yīng)時間過長的日志,排查client端網(wǎng)絡(luò)較慢的原因: zcat /usr/local/cloud/access_201609190000.tar.gz | grep -a "mltag=6003" | awk '$9>100000&&$10!=0&&$9/$10<400000{print $3,$2,$8,$9,$10,$9/$10,$(NF-6),$(NF-5),$(NF-4),$(NF-2),$(NF-1),$NF}' | column -t | sort -k2,2 -k1,1 表示先以第二列排序后,再按照第一列排序

通過上面的多重排序輸出,我們可以很清楚地分析某個client ip在一小時內(nèi)所有請求的響應(yīng)時間,如果都比較長,說明該client所在的網(wǎng)絡(luò)環(huán)境不太好。


總結(jié)

以上是生活随笔為你收集整理的利用sort对多字段排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。