中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中怎么利用grep條件搜索大文件

發布時間:2021-06-22 15:40:14 來源:億速云 閱讀:1263 作者:Leah 欄目:大數據

本篇文章為大家展示了linux中怎么利用grep條件搜索大文件,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1、grep搜索

grep 參數 文件名 | head     //從頭查找
			grep 參數 文件名 | wc- l    //查看符合條件的有多少行
			cat 文件名 |grep 參數$	//輸出以該參數結尾的行內容

2、實例

(1)根據具體的參數來搜索行數

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:15:[00-59]" |wc -l 
		120

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

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

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

		120

查詢符合條件1或者符合條件2 的行數

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

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

3、grep是模糊查詢

在使用grep搜索端口號的時候,查出來的結果不盡人意,什么牛鬼蛇神都查出來了,例子如下:

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   -

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

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

一步到位,查出來的都是80端口的進程,十分好用。

三、搜索文件中的ip地址

1、匹配ip

grep -Eo '([^0-9]|\b)((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]|\b)' xxx.log | sed -nr 's/([^0-9]|\b)(([0-9]{1,3}\.){3}[0-9]{1,3})([^0-9]|\b)/\2/p'|wc -l

31116275

2、查詢每個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 |sort|uniq -c

      2 99.203.87.103
      2 99.203.87.142
      4 99.203.87.145
      8 99.203.87.153

前面是出現次數,后面是ip

3、更精準的匹配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、多個條件查詢ip,先根據限定條件獲取指定的行數,然后再搜索ip的個數

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

上述內容就是linux中怎么利用grep條件搜索大文件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南和县| 阜平县| 汉源县| 谢通门县| 通化市| 怀远县| 新绛县| 新乐市| 乐山市| 从江县| 辽阳县| 册亨县| 柳州市| 五原县| 崇左市| 红河县| 柘城县| 香格里拉县| 湟源县| 饶河县| 和顺县| 绥棱县| 五寨县| 兴安盟| 大港区| 高雄县| 通江县| 益阳市| 遂昌县| 依安县| 三门县| 永修县| 崇文区| 景洪市| 滨州市| 迁西县| 雅安市| 五河县| 鸡东县| 县级市| 安福县|