佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Shell日志分析常用命令和例子

Shell日志分析常用命令和例子

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) Linux服務(wù)器 百度競(jìng)價(jià)排名 呼叫中心市場(chǎng)需求 地方門戶網(wǎng)站 AI電銷 服務(wù)外包

學(xué)會(huì)用shell分析日志只要一上午?。?!

很多地方分享了日志分析的shell腳本,但是基本沒(méi)說(shuō)每個(gè)命令符的具體含義,學(xué)習(xí)成本還是很高,在這里總結(jié)下,方便大家快速入門。

1、在Windows下的用戶要使用shell命令符的話請(qǐng)先安裝cygwin,安裝方法自行Google(搜技術(shù)問(wèn)題請(qǐng)使用google,百度搜不到活該)

2、下面粗略介紹下SEO日志分析常用的命令符用法,需要詳細(xì)了解每個(gè)命令符請(qǐng)使用Google。

less 文件名 查看文件內(nèi)容 按“q” 退出

cat 文件名 打開(kāi)文件,可以多次打開(kāi)幾個(gè)文件 | cat 1.log 2.log |cat *.cat
grep -參數(shù) 文件名
-i 不區(qū)分大小寫(xiě)
-v 顯示不符合條件的所有行
-c 顯示符合條件的所有行數(shù)(符合條件的數(shù)量)

egrep 屬于grep的升級(jí)版,在正則這一塊的支持更完善,使用正則的時(shí)候建議使用egrep

head -2 文件名 顯示2行
head -100 文件名 | tail -10 >>a.log 提取文件第91-100行數(shù)據(jù)

wc -參數(shù) 文件名 統(tǒng)計(jì)文本大小,字符多少,行數(shù)
-c 統(tǒng)計(jì)文本字節(jié)數(shù)
-m 統(tǒng)計(jì)文本字符數(shù)
-l 統(tǒng)計(jì)文本有多少行

sort – 參數(shù) 文件名 對(duì)文件進(jìn)行排序
-n 對(duì)文件按照數(shù)字排序
-r 反向排序

uniq -參數(shù) 文件名 對(duì)文件去重,去重前需要使用排序

sort
-c 顯示數(shù)據(jù)重復(fù)的次數(shù)

split -參數(shù) 文件名 對(duì)文件進(jìn)行切割
-100 (每100行切割成一個(gè)文件)
-C 25m/b/k (每25兆/字節(jié)/K 分割成一個(gè)文件)

| 管道,把上一條命令的結(jié)果傳輸給下一條命令

“>” 和“>> ” 重定向?qū)懭胛募?“>”相當(dāng)于“w”清空并寫(xiě)入 “>>”相當(dāng)于“a” 追加進(jìn)文件

 awk -F ‘分割符'  Pattern {action} 文件名 使用指定的字符對(duì)每一行數(shù)據(jù)進(jìn)行分段,默認(rèn)是空格(網(wǎng)站日志就是空格分開(kāi))
-F后面跟的是分隔符
pattern 就是action執(zhí)行的條件,這里可以使用正則表達(dá)式
$n 即時(shí)第幾段數(shù)據(jù) $0表示整行數(shù)據(jù)
NF表示當(dāng)前記錄的字段數(shù)
$NF 表示最后一個(gè)字段
BEGIN和END,這兩者都可用于pattern中,提供BEGIN和END的作用是給程序賦予初始狀態(tài)和在程序結(jié)束之后執(zhí)行一些掃尾的工作

bash shell.sh 運(yùn)行shell.sh腳本

dos2unix xxoo.sh 將“\r\n”轉(zhuǎn)換成“\n” Windows——>linux (由于Windows和Linux下的換行符不同,所以我們?cè)赪indows下面下的代碼需要使用dos2unix 轉(zhuǎn)換成Linux下的換行符,否則運(yùn)行shell腳本會(huì)報(bào)錯(cuò))

unix2dos xxoo.sh 將“\n”轉(zhuǎn)換成“\r\n” linux——>Windows
rm xx.txt 刪除xx.txt文件

3、一些簡(jiǎn)單的命令符介紹到這里,需要了解shell,建議大家查看相關(guān)的書(shū)籍.

下面我們開(kāi)始使用shell分析日志

1、切割百度的抓取數(shù)據(jù)(將文件切割出來(lái)對(duì)專門的爬蟲(chóng)數(shù)據(jù)進(jìn)行處理能提高效率)

復(fù)制代碼 代碼如下:

cat log.log |grep -i ‘baiduspider' >baidu.log

2、網(wǎng)站狀態(tài)碼個(gè)數(shù)查詢 
復(fù)制代碼 代碼如下:

awk ‘{print $9}' baidu.log|sort|uniq -c|sort -nr

3、百度總抓取量
復(fù)制代碼 代碼如下:

wc -l baidu.log

4、百度不重復(fù)抓取量 
復(fù)制代碼 代碼如下:

awk ‘{print $7}' baidu.log|sort|uniq|wc -l

5、百度平均每次抓取的數(shù)據(jù)大?。ńY(jié)果是KB)
復(fù)制代碼 代碼如下:

awk ‘{print $10}' baidu.log|awk ‘BEGIN{a=0}{a+=$1}END{ print a/NR/1024}'

6、首頁(yè)抓取量
復(fù)制代碼 代碼如下:

awk ‘$7~/\.com\/$/' baidu.log|wc -l

7、某目錄抓取量
復(fù)制代碼 代碼如下:

grep ‘/news/' baidu.log|wc -l

8、抓取最多的10個(gè)頁(yè)面
復(fù)制代碼 代碼如下:

awk ‘{print $7}' baidu.log|sort|uniq -c|sort -nr|head -10

9、找出抓取的404錯(cuò)誤頁(yè)面
復(fù)制代碼 代碼如下:

awk ‘$9~ /^404$/ {print $7}' baidu.log|sort|uniq|sort -nr

10、找出抓取了多少js文件和文件抓取的次數(shù)
復(fù)制代碼 代碼如下:

awk ‘$7~ /.js$/ {print $7}' baidu.log|sort|uniq -c |sort -nr

您可能感興趣的文章:
  • hbase shell基礎(chǔ)和常用命令詳解
  • linux shell命令行選項(xiàng)與參數(shù)用法詳解
  • Shell腳本中實(shí)現(xiàn)切換用戶并執(zhí)行命令操作
  • linux shell腳本學(xué)習(xí)xargs命令使用詳解
  • 在Shell命令行處理JSON數(shù)據(jù)的方法
  • 25個(gè)好用的Shell腳本常用命令分享
  • Shell 命令執(zhí)行順序分析[圖]
  • Shell腳本test命令使用總結(jié)和實(shí)例
  • 用shell命令讀取與輸出數(shù)據(jù)的代碼
  • 提高你工作效率的shell命令總結(jié)大全

標(biāo)簽:銅川 蘭州 湘潭 湖南 黃山 崇左 衡水 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell日志分析常用命令和例子》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    道孚县| 云霄县| 靖州| 卢龙县| 东乌珠穆沁旗| 嘉祥县| 建湖县| 辽中县| 五华县| 克山县| 运城市| 财经| 凤城市| 黎川县| 大足县| 伊宁县| 门源| 洛阳市| 易门县| 都江堰市| 都安| 渑池县| 金阳县| 宜城市| 雅江县| 通城县| 宜阳县| 珲春市| 清水县| 微山县| 慈溪市| 久治县| 商丘市| 手游| 南城县| 崇文区| 桦川县| 咸丰县| 江油市| 同心县| 乌兰县|