99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

常用的大日志文件查詢命令詳解

馬哥Linux運(yùn)維 ? 來(lái)源:稀土掘金技術(shù)社區(qū) ? 2024-01-02 11:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

最近需要查詢大日志文件的時(shí)候,每次打開vim,cat之類的都會(huì)卡死,但是需要查看符合條件的共有多少行數(shù)據(jù),這顆愁死我了,下面列出一些常用的匹配查詢命令。

二、常用的搜索命令

1、grep搜索

      grep 參數(shù) 文件名 | head     //從頭查找
      grep 參數(shù) 文件名 | wc- l    //查看符合條件的有多少行
      cat 文件名 |grep 參數(shù)$  //輸出以該參數(shù)結(jié)尾的行內(nèi)容


2、實(shí)例

(1)根據(jù)具體的參數(shù)來(lái)搜索行數(shù)


cat /data/weblogs/xxx.access.log  |grep "GET /pixel.jpg?"|wc -l 
      4102386

(2)部分正則查詢


    cat /data/weblogs/em.evony.com.access.log |grep "25/Nov/2019[00-59]" |wc -l 
    120

查詢25/Nov/2019:15時(shí)的所有數(shù)據(jù),那么15時(shí)后面的分鐘數(shù)就是00-59

(3)多個(gè)條件之間可以使用管道連接,查詢同時(shí)符合兩個(gè)條件的行數(shù)


    cat /data/weblogs/xxx.log |grep "25/Nov/2019[00-59]" |grep "GET /pixel.jpg?"|wc -l 


    120

(4)查詢符合條件1或者符合條件2 的行數(shù)


    cat /data/weblogs/xxx.log |grep -E "25/Nov/2019[00-59] |GET /pixel.jpg?"|wc -l 
      4098135


簡(jiǎn)寫: grep -E "exp1|exp2|exp3" | wc -l
參考:https://blog.csdn.net/lijing742180/article/details/84959963

3、grep是模糊查詢

在使用grep搜索端口號(hào)的時(shí)候,查出來(lái)的結(jié)果不盡人意,什么牛鬼蛇神都查出來(lái)了,例子如下:


netstat -anp |grep -i '80'
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 127.0.0.1:80                0.0.0.0:*                   LISTEN      -                   
tcp        0      0 10.17.2.50:80               0.0.0.0:*                   LISTEN      -                   
tcp        0      0 216.66.17.189:80            0.0.0.0:*                   LISTEN      -                   
tcp        0      0 10.17.2.50:10050            10.17.13.2:33801            TIME_WAIT   -    
          

推薦個(gè)更好用的,具體查詢80端口的使用情況,使用命令:

 netstat -apn | awk '{split($4,arr,":"); if(arr[2] == "80") print $0}'

一步到位,查出來(lái)的都是80端口的進(jìn)程,十分好用。

============ 2019/12/5===================

三、搜索文件中的ip地址

1、匹配ip


grep -Eo '([^0-9]|)((1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9]).){3}(1[0-9][0-9]|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])([^0-9]|)' xxx.log | sed -nr 's/([^0-9]|)(([0-9]{1,3}.){3}[0-9]{1,3})([^0-9]|)/2/p'|wc -l


31116275

2、查詢每個(gè)ip出現(xiàn)的次數(shù)


grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"  xxx.log |sort|uniq -c


      2 99.203.87.103
      2 99.203.87.142
      4 99.203.87.145
      8 99.203.87.153

前面是出現(xiàn)次數(shù),后面是ip

3、更精準(zhǔn)的匹配ip


grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"  xxx.log|wc -l


32929372

4、模糊匹配ip


grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}" xxx.log|wc -l

32930309

5、多個(gè)條件查詢ip,先根據(jù)限定條件獲取指定的行數(shù),然后再搜索ip的個(gè)數(shù)


cat xxx.log |grep "25/Nov/2019[00-59]" |grep "GET /pixel.jpg?"|grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}"|wc -l 
1110

感覺這些查ip的方法都差不錯(cuò),因?yàn)槿罩疚募恢痹谠龃?,所以查出?lái)的結(jié)果也不一樣,查的速度也比較慢,可能是文件太大了,在此記錄一下,總有用得著的時(shí)候。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11497

    瀏覽量

    213305
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    578

    瀏覽量

    25303
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    736

    瀏覽量

    22799
  • 日志
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    10846

原文標(biāo)題:linux使用grep條件搜索大文件的行數(shù)等技巧

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    飛凌嵌入式ElfBoard ELF 1板卡-uboot常用命令文件系統(tǒng)命令

    uboot支持fat格式、ext格式的文件系統(tǒng)。我們主要講解fat格式文件系統(tǒng)常用命令使用。 一、fatinfo fatinfo顯示選中的mmc設(shè)備指定分區(qū)的文件系統(tǒng)信息, fatin
    發(fā)表于 05-26 17:32

    linux 查日志常用命令有哪些

    linux 查日志常用命令
    發(fā)表于 06-04 09:00

    Linux文件內(nèi)容查詢命令

    Linux文件內(nèi)容查詢命令 Linux文件內(nèi)容查詢命令  grep、fgrep和egrep
    發(fā)表于 01-18 12:45 ?911次閱讀

    Linux關(guān)機(jī)命令詳解

    Linux關(guān)機(jī)命令詳解 在linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都 可以達(dá)到重啟系統(tǒng)的目的,但每個(gè)
    發(fā)表于 01-18 12:52 ?3731次閱讀

    LINUX操作系統(tǒng)的安裝與Linux常用文件命令

    LINUX操作系統(tǒng)的安裝與Linux常用文件命令說(shuō)明。
    發(fā)表于 06-02 17:45 ?3次下載

    詳解MySQL三大日志的作用

    MySQL日志 主要包括錯(cuò)誤日志查詢日志、慢查詢日志、事務(wù)
    的頭像 發(fā)表于 07-22 14:44 ?1607次閱讀

    kafka相關(guān)命令詳解

    kafka常用命令詳解
    的頭像 發(fā)表于 10-20 11:34 ?1317次閱讀

    logcat命令抓取日志方法

    命令抓取日志 logcat -b main -b system -b crash -r 1024 -n 5 -f android.log -v threadtime -b:加載可供查看的緩沖區(qū)的日志
    的頭像 發(fā)表于 11-23 17:31 ?2094次閱讀
    logcat<b class='flag-5'>命令</b>抓取<b class='flag-5'>日志</b>方法

    linux日志管理之journalctl命令

    journalctl 用來(lái)查詢 systemd-journald 服務(wù)收集到的日志。systemd-journald 服務(wù)是 systemd init 系統(tǒng)提供的收集系統(tǒng)日志的服務(wù)。
    的頭像 發(fā)表于 08-14 18:18 ?3703次閱讀
    linux<b class='flag-5'>日志</b>管理之journalctl<b class='flag-5'>命令</b>

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發(fā)表于 11-05 15:39 ?1276次閱讀
    <b class='flag-5'>詳解</b>kubectl<b class='flag-5'>常用命令</b>

    Linux實(shí)時(shí)查看日志的四種命令詳解

    如何在Linux中實(shí)時(shí)查看日志文件的內(nèi)容?那么有很多實(shí)用程序可以幫助用戶在文件更改或不斷更新時(shí)輸出文件的內(nèi)容。在Linux中實(shí)時(shí)顯示文件內(nèi)容
    的頭像 發(fā)表于 01-13 10:45 ?2900次閱讀
    Linux實(shí)時(shí)查看<b class='flag-5'>日志</b>的四種<b class='flag-5'>命令</b><b class='flag-5'>詳解</b>

    Linux文件管理命令詳解

    cat命令描述:該命令用于連接文件并打印到標(biāo)準(zhǔn)輸出設(shè)備上。
    的頭像 發(fā)表于 02-17 10:34 ?449次閱讀
    Linux<b class='flag-5'>文件</b>管理<b class='flag-5'>命令</b><b class='flag-5'>詳解</b>

    Kubernetes Pod常用管理命令詳解

    Kubernetes Pod常用管理命令詳解
    的頭像 發(fā)表于 02-17 14:06 ?459次閱讀
    Kubernetes Pod<b class='flag-5'>常用</b>管理<b class='flag-5'>命令</b><b class='flag-5'>詳解</b>

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?391次閱讀

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解

    達(dá)夢(mèng)數(shù)據(jù)庫(kù)常用管理SQL命令詳解
    的頭像 發(fā)表于 06-17 15:12 ?347次閱讀
    達(dá)夢(mèng)數(shù)據(jù)庫(kù)<b class='flag-5'>常用</b>管理SQL<b class='flag-5'>命令</b><b class='flag-5'>詳解</b>