python linux log,linux,python 常用的处理log的命令
一般的log文件都是需要過濾
ps:管道符| 管道符前面的輸出值
grep 過濾查找
將是error的log過濾顯示
grep '221.2.100.138' ?web.access.log
grep 221.2.100.138 ?web.access.log
less?web.access.log?|grep "221.2.100.138"
統(tǒng)計error行數(shù)
grep '221.2.100.138' web.access.log |wc -l
less?web.access.log?|grep "221.2.100.138"?|wc -l( 小寫)
將error重定向(linux是>python是>>)到文件中
grep 221.2.100.138 ?web.access.log >mylog1.txt
其他常用參數(shù),位置放在前面后面都可以
-i? 不區(qū)分大小寫?grep -i 'HTTP' ?web.access.log或者grep ?'HTTP' -i web.access.log
-n ? ? ?輸出行號
-w ? ?匹配整個單詞
正則 ? grep '^#'
-c ? ?統(tǒng)計行數(shù)
sed 行篩選
顯示第一行
sed -n '1p' filename
顯示第1,5行
sed -n '1,5p' filename
常用選項:???????-n∶不使用的時候,會把所有數(shù)據(jù)都顯示出來,但如果加上 -n 參數(shù)后,只顯示經(jīng)過處理的那幾行
-e∶直接在指令列模式上進行 sed 的動作編輯;
-f∶直接將 sed 的動作寫在一個檔案內(nèi), -f filename 則可以執(zhí)行 filename 內(nèi)的sed 動作;
-r∶sed 的動作支援的是延伸型正規(guī)表示法的語法。(預設是基礎正規(guī)表示法語法)
-i∶直接修改讀取的檔案內(nèi)容,而不是由螢幕輸出。
常用命令:
a?? ∶新增, a 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的下一行)~
c?? ∶取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!
d?? ∶刪除,因為是刪除啊,所以 d 后面通常不接任何咚咚;
i?? ∶插入, i 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的上一行);
p?∶列印,亦即將某個選擇的資料印出。通常 p 會與參數(shù) sed -n 一起運作~
s
命令是直接使用,參數(shù)是-一起使用
格式:
sed '/模式/' d filename或者sed '/模式d/' filename都可以。刪除查詢條件為模式的行
eg:刪除以#開頭的行,并將修改寫入文件
sed '/^#/' d -i filename
如果不加-i是顯示在屏幕上,這時候可以把結果重定向到文件中
sed '/^#/' d filename>filename_new 覆蓋寫入w
sed '/^#/' d -i filename>>filename_new追加寫入aw
sed -n '/2015:08:39:59/,/2015:08:40:02/' p web.access.log 打印出這個時間段的log,p是打印的意思
sed -n '/2015:08:39:59/,/2015:08:40:02/' web.access.log |awk '{print $4,$5}'
awk分列
語法awk '{print $1}'打印第一列
awk -F : '{print $1}' 以:為分隔符打印出第一列 比如每行的數(shù)據(jù)格式是aa:bb,執(zhí)行以后會取到aa,要想這個時候取值aa和bb,執(zhí)行awk -F :'{print $1,$2}'
awk '{if(表達式){語句}}'
(1) ? ? ?awk '{print}' 打印所有列
(2)打印第一行的所有數(shù)據(jù) awk 'NR==1{print}'
(3)打印第二行第一列 ? ? ? awk 'NR==2{print $1}'
grep '106.39.249.119' web.access.log | awk '{print $1,$2}' 打印出含有106這個ip地址的第一列和第二列
awk ?'{if($1=="106.39.241.119"){print $1,$2}}' web.access.log 打印出ip地址是106的第一列和第二列
awk '$1=="106.39.249.119" {print $1,$2}' web.access.log同上
其他組合用法
1.統(tǒng)計wc
統(tǒng)計行數(shù)(line)?|wc -l ? ? ? ? ?more filename|wc -l或者wc -l filename
統(tǒng)計單詞數(shù)(word)|wc -w
統(tǒng)計字符數(shù)?|wc -c (bytes)
2.排序sort 經(jīng)常與|管道符使用
|sort -n 按照數(shù)字進行排序,不加,會出現(xiàn)1后面是10這種排序
|sort -nr 反序reverse排序
3.去重uniq
經(jīng)常與管道符結合使用|
|uniq -c 將該重復的數(shù)據(jù)的行數(shù)統(tǒng)計出 ?一般在uniq -c|sort -n使用,因為uniq會把數(shù)字統(tǒng)計出來,然后sort -n按照數(shù)字進行排序
|uniq -d 只顯示重復的行
|uniq -u 只顯示不重復的行
例子:
統(tǒng)計出訪問日志中有多少個不同的ip
awk '{print $1}' web.access.log |sort|uniq -c|wc -l
統(tǒng)計訪問最高的ip
cat access.log|awk '{print $2}'|uniq -c|sort -nr|head -n 1
或者
cat acess.log|awk '{print $2}'|uniq -c|sort -nr|sed '1p'
字符轉(zhuǎn)換tr,以下轉(zhuǎn)換不會對源文件進行操作
tr '#' '!' 把#全部轉(zhuǎn)換成!
cat a.log |tr 'a-z' ?'A-Z'
【2016-10-11】Linux系統(tǒng)常用的關機或重啟命令shutdown、reboot、halt、poweroff、init 0及init 6的聯(lián)系與區(qū)別
Linux下常用的關機/重啟命令一般包括: shutdown.reboot.halt.poweroff等,當然了我們可以使用init 運行等級runlevel 0即halt來關機,或使用init 運行 ...
Linux中常用的查看系統(tǒng)信息的命令
導讀 Linux是一個神奇而又高效的操作系統(tǒng),學完Linux對Linux系統(tǒng)有一個熟悉的了解后,你需要了解下這些實用的查看系統(tǒng)信息的命令. 查看系統(tǒng)版本命令 uname 談到系統(tǒng)版本就一定會想到una ...
linux不常用但很有用的命令(持續(xù)完善)
Linux登錄后設置提示信息: /etc/issue 本地端登錄前顯示信息文件 /etc/issue.net 網(wǎng)絡端登錄前顯示信息文件 /etc/motd 登陸后顯示信息文件 可以添加以下幾個常用選項 ...
Linux下常用的硬件信息查看命令
1.查看CPU型號,這里為了方便查看結合管道符用grep進行了匹配,當然只需要前面的命令也可以,命令如下: cat /proc/cpuinfo | grep "model name" ...
Linux中常用的查找文件的命令
我們經(jīng)常在linux要查找某個文件,但不知道放在哪里了,可以使用下面的一些命令來搜索.這些是從網(wǎng)上找到的資料(參考資料1),因為有時很長時間不會用到,當要用的時候經(jīng)常弄混了,所以放到這里方便使用. w ...
Linux中常用的關機和重新啟動命令
hutdown.halt.reboot以及init,它們都可以達到關機和重新啟動的目的,但是每個命令的內(nèi)部工作過程是不同的,下面將逐一進行介紹. 一.shutdown shutdown命令用于安全關閉 ...
Linux中常用來查看進程的命令PS
查看所有運行中的進程:ps aux | less 顯示所有進程: ps -A / ps -e 顯示進程的樹狀圖:pstree
linux系統(tǒng)常用監(jiān)控系統(tǒng)狀態(tài)信息命令
[root@bogon ~]# uptime #平均負載 23:33:21 up 2:09, 3 users, load average: 0.02, 0.05, 0.05 [root@bogon ~ ...
linux中常用壓縮與解壓命令
一. tar文件的解壓 tar -xvf db.tar 二. zip文件的壓縮與解壓 壓縮 zip -r dest_name.zip directory_to_compress 解壓 unzip de ...
隨機推薦
POJ3083Catch That Cow[BFS]
Catch That Cow Time Limit:?2000MS ? Memory Limit:?65536K Total Submissions:?77420 ? Accepted:?24457 ...
ajax 之js讀取xml的多瀏覽器兼容
主要是分為兩大類:IE.其它瀏覽器 IE8以下只支持這種 InputVoltage.innerText =?xmlDoc.getElementsByTagName(id)[0].text, 其它瀏覽器 ...
jar包和war包的區(qū)別
jar包和war包的區(qū)別: jar包就是別人已經(jīng)寫好的一些類,然后將這些類進行打包,你可以將這些jar包引入你的項目中,然后就可以直接使用這些jar包中的類和屬性了,這些jar包一般都會放在lib目錄 ...
【轉(zhuǎn)】iOS 宏(define)與常量(const)的正確使用-- 不錯
原文網(wǎng)址:http://www.jianshu.com/p/f83335e036b5 在iOS開發(fā)中,經(jīng)常用到宏定義,或用const修飾一些數(shù)據(jù)類型,經(jīng)常有開發(fā)者不知怎么正確使用,導致項目中亂用宏與c ...
關于JVM的ClassLoader(轉(zhuǎn))
眾所周知,java是編譯型的語言,寫的是java文件,最后運行的是class文件,class文件是運行在JVM之中的,這時候就有一個問題,JVM如何裝載class文件的?是通過ClassLoader來 ...
POJ3660 Cow Contest floyd傳遞閉包
Description N?(1 ≤?N?≤ 100) cows, conveniently numbered 1..N, are participating in a programming con ...
June. 23rd 2018, Week 25th. Saturday
We are who we choose to be. 要成為怎樣的人,選擇在于自己. From Barry Manilow. I believe that we are who we choose ...
WebSocket——為Web應用帶來桌面應用般的靈活性【轉(zhuǎn)載+整理】
總結
以上是生活随笔為你收集整理的python linux log,linux,python 常用的处理log的命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql俩个表之间关联语法_MySQL
- 下一篇: Oracle导入dmp文件报12504,