最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux統(tǒng)計(jì)某個(gè)字符串出現(xiàn)次數(shù)并排序的實(shí)現(xiàn)步驟

 更新時(shí)間:2024年07月23日 08:52:05   作者:smileNicky  
最近遇到一個(gè)流量異常調(diào)用的接口,所以需要通過后臺(tái)日志查看接口調(diào)用情況,先統(tǒng)計(jì)今天內(nèi)接口的調(diào)用次數(shù),再具體到對(duì)應(yīng)的設(shè)備號(hào),所以本文給大家介紹了Linux統(tǒng)計(jì)某個(gè)字符串出現(xiàn)次數(shù)并排序的實(shí)現(xiàn)步驟,需要的朋友可以參考下

業(yè)務(wù)場(chǎng)景

最近遇到一個(gè)流量異常調(diào)用的接口,所以需要通過后臺(tái)日志查看接口調(diào)用情況,先統(tǒng)計(jì)今天內(nèi)接口的調(diào)用次數(shù),再具體到對(duì)應(yīng)的設(shè)備號(hào),就知道哪臺(tái)設(shè)備有問題了,初步想到wc和awk命令來(lái)篩選統(tǒng)計(jì),但是真正去寫的時(shí)候,發(fā)現(xiàn)很多寫法都不太記得了,所以花了點(diǎn)時(shí)間去查手冊(cè),找資料,現(xiàn)在整理成博客,方便以后需要就馬上統(tǒng)計(jì)出來(lái),也分享出來(lái),希望可以幫助需要的人

項(xiàng)目環(huán)境

  • JDK1.8.0_111-b14
  • Linux3.10.0-1062.el7.x86_64
  • Apache Tomcat/8.5.85

實(shí)驗(yàn)步驟

統(tǒng)計(jì)某個(gè)接口調(diào)用次數(shù),可以通過grep篩選出對(duì)應(yīng)得到接口,然后加上wc統(tǒng)計(jì)出調(diào)用次數(shù)

cat catalina.out.2024-03-26| grep "/api/get"| wc -l

如果要統(tǒng)計(jì)這個(gè)接口具體是哪個(gè)設(shè)備調(diào)用的,每個(gè)設(shè)備具體的調(diào)用次數(shù),就稍微有點(diǎn)麻煩,因?yàn)榻涌谡?qǐng)求后,會(huì)有一個(gè)請(qǐng)求參數(shù),一般是json傳參的,所以思路是先用grep定位到具體的接口,然后解析傳參json字符串,獲取設(shè)備號(hào)code,對(duì)應(yīng)的值value,然后使用uniq加上sort統(tǒng)計(jì)出這個(gè)設(shè)備調(diào)用的次數(shù),具體的linux命令是:

cat catalina.out.2024-03-26| grep "/api/get"| awk -F "[,:}]" '{for(i=1;i<=NF;i++){if($i~"code"){print $(i+1)} }}' | tr -d '"'| sort | uniq -c | sort -nr

不熟悉的讀者看起來(lái)有點(diǎn)懵,所以,一點(diǎn)點(diǎn)分析一下,為什么這樣寫?

  • 查看日志
    因?yàn)槭莟omcat部署的后端服務(wù),所以要查看tomcat的catalina.out日志文件,使用cat命令
cat catalina.out.2024-03-26
  • 篩選出具體的api接口
cat catalina.out.2024-03-26| grep "/api/get"
  • 篩選請(qǐng)求json字符串對(duì)應(yīng)設(shè)備號(hào)的value值
    首選,我們請(qǐng)求參數(shù)是一串json字符串,假如是這樣的:
{ "code", "0B403940FF289695FC093BF2556FFD75", "type":1}

所以需要獲取json對(duì)應(yīng)key,也就是我們的設(shè)備號(hào)code,對(duì)應(yīng)的值0B403940FF289695FC093BF2556FFD75

cat catalina.out.2024-03-26| grep "/api/get" | awk -F "[,:}]" '{for(i=1;i<=NF;i++){if($i~"code"){print $(i+1)} }}'

解釋一下awk對(duì)應(yīng)參數(shù)

  1. awk -F "[,:}]" :按照中括號(hào)中的內(nèi)容,}:依次分割字符串
  2. {for(i=1;i<=NF;i++){if($i~"code"){print $(i+1)} }}:遍歷篩選出來(lái)的數(shù)據(jù),匹配到code打印出對(duì)應(yīng)的value

通過上面的linux命令,打印出來(lái)的是

"0B403940FF289695FC093BF2556FFD75"
"0B403940FF289695FC093BF2556FFD76"
....

如果覺得比較別扭,可以去掉"字符,使用命令

tr -d '"'

打印:

0B403940FF289695FC093BF2556FFD75
0B403940FF289695FC093BF2556FFD76
....
  • 統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)
    統(tǒng)計(jì)字符串重復(fù)次數(shù),可以使用uniq -c,然后為什么還要在前面加上sort命令?因?yàn)?code>uniq這個(gè)命令只能統(tǒng)計(jì)連續(xù)的的重復(fù)行。所以需要結(jié)合sort命令使用,先sort排序,然后uniq統(tǒng)計(jì)重復(fù)的行
sort | uniq -c

打印,可以看出可以統(tǒng)計(jì)數(shù)量了,但是,沒排序

1000 0B403940FF289695FC093BF2556FFD75
1001 0B403940FF289695FC093BF2556FFD76
999 0B403940FF289695FC093BF2556FFD77
....
  • 按照調(diào)用次數(shù)進(jìn)行倒序
    sort命令的-n表示按照數(shù)值排序,-r表示按照數(shù)值降序排序,所以需要加上排序命令
sort -nr
999 0B403940FF289695FC093BF2556FFD77
1000 0B403940FF289695FC093BF2556FFD75
1001 0B403940FF289695FC093BF2556FFD76

....

總結(jié)歸納

如果遇到param=0b33131等等這樣傳參的可以使用如下命令進(jìn)行篩選,意思是使用param=作為分隔符

 awk -F '(param=)' '{print $2}'

如果遇到和本文類似的場(chǎng)景,直接使用命令進(jìn)行統(tǒng)計(jì)即可:

cat catalina.out.2024-03-26| grep "/api/get"| awk -F "[,:}]" '{for(i=1;i<=NF;i++){if($i~"code"){print $(i+1)} }}' | tr -d '"'| sort | uniq -c | sort -nr

到此這篇關(guān)于Linux統(tǒng)計(jì)某個(gè)字符串出現(xiàn)次數(shù)并排序的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Linux統(tǒng)計(jì)字符串出現(xiàn)次數(shù)并排序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何解決Diffie-Hellman Key Agreement Protocol資源管理錯(cuò)誤漏洞(CVE-2002-20001)

    如何解決Diffie-Hellman Key Agreement Protocol資源管理

    文章主要介紹了資源管理錯(cuò)誤漏洞的修復(fù)項(xiàng)目,特別提到Diffie-HellmanKeyAgreementProtocol是一種密鑰協(xié)商協(xié)議,該協(xié)議存在安全漏洞,文章建議在配置文件中正確寫入kexalgorithms,避免語(yǔ)法錯(cuò)誤導(dǎo)致sshd服務(wù)無(wú)法啟動(dòng),從而無(wú)法通過SSH連接服務(wù)器
    2024-12-12
  • 你知道一臺(tái)Linux服務(wù)器可以負(fù)載多少個(gè)連接嗎

    你知道一臺(tái)Linux服務(wù)器可以負(fù)載多少個(gè)連接嗎

    這篇文章主要給大家介紹了關(guān)于一臺(tái)Linux服務(wù)器可以負(fù)載多少個(gè)連接的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux服務(wù)器具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log file解決方法

    Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log

    這篇文章主要介紹了Apache啟動(dòng)錯(cuò)誤Permission denied: httpd: could not open error log file解決方法,需要的朋友可以參考下
    2014-07-07
  • Linux下部署kettle并配置定時(shí)調(diào)度過程

    Linux下部署kettle并配置定時(shí)調(diào)度過程

    文章介紹了在Linux系統(tǒng)下部署Kettle并配置定時(shí)調(diào)度的詳細(xì)步驟,包括安裝Java、Kettle,同步資源庫(kù)和添加jar包,測(cè)試任務(wù)執(zhí)行,安裝webkitgtk以消除圖形界面警告,以及使用crontab進(jìn)行定時(shí)調(diào)度
    2026-01-01
  • 跨域請(qǐng)求 Apache 服務(wù)器配置的方法

    跨域請(qǐng)求 Apache 服務(wù)器配置的方法

    這篇文章主要介紹了跨域請(qǐng)求 Apache 服務(wù)器配置的方法,包括修改服務(wù)器配置文件的方法和如何編輯httpd.conf。接下來(lái),通過本文給大家重點(diǎn)講解,需要的朋友參考下吧
    2017-01-01
  • 你必須知道Linux系統(tǒng)的七種優(yōu)勢(shì)

    你必須知道Linux系統(tǒng)的七種優(yōu)勢(shì)

    你必須知道Linux系統(tǒng)的七種優(yōu)勢(shì),越來(lái)越多的電腦用戶開始使用 Linux進(jìn)行辦公、學(xué)習(xí),這篇文章主要介紹了Linux系統(tǒng)的多種優(yōu)勢(shì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Linux的wget命令詳解

    Linux的wget命令詳解

    這篇文章主要為大家詳細(xì)介紹了Linux的wget命令,教大家如何使用wget,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Linux中tail命令用法詳解

    Linux中tail命令用法詳解

    tail命令也是一個(gè)非常常用的文件查看類的命令,接下來(lái)通過本篇文章給大家介紹linux中tail命令的用法詳解,感興趣的朋友一起看看吧
    2016-09-09
  • Linux使用touch命令創(chuàng)建空文件的技巧分享

    Linux使用touch命令創(chuàng)建空文件的技巧分享

    在 Linux 操作系統(tǒng)中,touch 命令是一個(gè)看似簡(jiǎn)單卻功能強(qiáng)大的工具,雖然它的主要用途是更新文件的時(shí)間戳,但它在創(chuàng)建空文件方面也扮演著至關(guān)重要的角色,本文將深入探討 touch 命令的各種用法,需要的朋友可以參考下
    2026-01-01
  • 使用Hyper-v虛擬機(jī)安裝Centos7

    使用Hyper-v虛擬機(jī)安裝Centos7

    本文詳細(xì)講解了使用Hyper-v虛擬機(jī)安裝Centos7的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12

最新評(píng)論

广平县| 嘉黎县| 宜宾市| 长顺县| 海晏县| 庆城县| 会泽县| 耒阳市| 颍上县| 金华市| 谢通门县| 唐河县| 楚雄市| 同仁县| 平南县| 嘉荫县| 库伦旗| 民县| 邯郸县| 林口县| 修文县| 凤冈县| 玛纳斯县| 隆化县| 文安县| 英吉沙县| 永寿县| 崇左市| 获嘉县| 梅河口市| 武强县| 隆林| 榆中县| 南溪县| 泸水县| 漳平市| 文化| 商城县| 女性| 衡山县| 库尔勒市|