欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2014年12月01日 09:23:27   投稿:junjie  
這篇文章主要介紹了Shell日志分析常用命令和例子,本文重點(diǎn)在一樣實(shí)現(xiàn)日志分析命令語句例子上,本文給出了10條常用的分析實(shí)例,需要的朋友可以參考下

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

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

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

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

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

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

egrep 屬于grep的升級版,在正則這一塊的支持更完善,使用正則的時(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ù) 文件名 對文件進(jìn)行排序
-n 對文件按照數(shù)字排序
-r 反向排序

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

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

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

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

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

 awk -F ‘分割符'  Pattern {action} 文件名 使用指定的字符對每一行數(shù)據(jù)進(jìn)行分段,默認(rèn)是空格(網(wǎng)站日志就是空格分開)
-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下的換行符不同,所以我們在Windows下面下的代碼需要使用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、一些簡單的命令符介紹到這里,需要了解shell,建議大家查看相關(guān)的書籍.

下面我們開始使用shell分析日志

1、切割百度的抓取數(shù)據(jù)(將文件切割出來對專門的爬蟲數(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、首頁抓取量
復(fù)制代碼 代碼如下:

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

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

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

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

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

9、找出抓取的404錯(cuò)誤頁面
復(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

相關(guān)文章

  • Shell函數(shù)的7種用法介紹

    Shell函數(shù)的7種用法介紹

    這篇文章主要介紹了Shell函數(shù)的7種用法介紹,本文講解了在shell文件內(nèi)部定義函數(shù)并引用、返回值、函數(shù)輸出、向函數(shù)傳遞參數(shù)、全局變量與局部變量等內(nèi)容,需要的朋友可以參考下
    2014-11-11
  • Shell腳本數(shù)組用法小結(jié)

    Shell腳本數(shù)組用法小結(jié)

    這篇文章主要介紹了Shell腳本數(shù)組用法小結(jié),本文講解了數(shù)組聲明、數(shù)組遍歷、獲取數(shù)組長度、刪除數(shù)組元素、數(shù)組切片等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • Shell腳本查看網(wǎng)卡實(shí)時(shí)流量

    Shell腳本查看網(wǎng)卡實(shí)時(shí)流量

    這篇文章主要介紹了Shell腳本查看網(wǎng)卡實(shí)時(shí)流量,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-12-12
  • 完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問題

    完美解決mac環(huán)境使用sed修改文件出錯(cuò)的問題

    下面小編就為大家?guī)硪黄昝澜鉀Qmac環(huán)境使用sed修改文件出錯(cuò)的問題。
    2017-04-04
  • Shell腳本中if條件判斷的寫法實(shí)例

    Shell腳本中if條件判斷的寫法實(shí)例

    在寫shell腳本的過程中,用到了if else的寫法,突然有多個(gè)參數(shù)需要判斷,那么就想到了if else if的用法,這篇文章主要給大家介紹了關(guān)于Shell腳本中if條件判斷寫法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • linux Shell腳本里面把一個(gè)數(shù)組傳遞到awk內(nèi)部進(jìn)行處理

    linux Shell腳本里面把一個(gè)數(shù)組傳遞到awk內(nèi)部進(jìn)行處理

    這篇文章主要介紹了linux Shell腳本里面把一個(gè)數(shù)組傳遞到awk內(nèi)部進(jìn)行處理,需要的朋友可以參考下
    2016-12-12
  • linux文件目錄默認(rèn)權(quán)限(詳解)

    linux文件目錄默認(rèn)權(quán)限(詳解)

    下面小編就為大家?guī)硪黄猯inux文件目錄默認(rèn)權(quán)限(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Linux 查看端口的占用情況并找出并殺死占用進(jìn)程的方法

    Linux 查看端口的占用情況并找出并殺死占用進(jìn)程的方法

    這篇文章主要介紹了Linux 查看端口的占用情況并找出并殺死占用進(jìn)程的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • 詳解如何在Linux中創(chuàng)建和使用別名命令

    詳解如何在Linux中創(chuàng)建和使用別名命令

    Linux?用戶經(jīng)常需要反復(fù)使用一個(gè)命令,一遍又一遍地鍵入或復(fù)制相同的命令會(huì)降低您的工作效率并分散您對應(yīng)該做的事情的注意力,這個(gè)時(shí)候我們可以通過為最常用的命令創(chuàng)建別名來節(jié)省一些時(shí)間,接下來將給大家介紹一下如何在Linux中創(chuàng)建和使用別名命令
    2023-07-07
  • Shell中實(shí)現(xiàn)整數(shù)自增的幾種方法示例

    Shell中實(shí)現(xiàn)整數(shù)自增的幾種方法示例

    Linux Shell中寫循環(huán)時(shí),常常要用到變量的自增,下面這篇文章主要給大家分享了關(guān)于Shell中實(shí)現(xiàn)整數(shù)變量自增的幾種方法,包括declare -i來聲明、使用let命令、使用(())以及使用expr命令等等方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08

最新評論