1. 程式人生 > >第一個shell 日誌統計

第一個shell 日誌統計

功能:統計日誌中包含特定字串的行數

#!/bin/bash
#輸入引數:要查詢的開始日期,要查詢的結束日期 例如: sh count.sh 20160625 20160703 注:區間不得超過15天

datebeg=$1
dateend=$2
#echo $datebeg
#echo $dateend

if [ ! -n "$datebeg" ]; then
    echo '請輸入開始日期'
    exit 2
fi

if [ ! -n "$dateend" ]; then
    echo '請輸入結束日期'
    exit 2
else
    beg_s=`date -d "$datebeg
"
+%s` end_s=`date -d "$dateend" +%s` duringday=`expr $end_s - $beg_s` duringday=`expr $duringday / 86400` if [ $duringday -gt 15 ];then echo '輸入日期區間過大' exit 3 fi search_allcount=0 while [ "$beg_s" -le "$end_s" ] do thisdate=`date -d @$beg_s
+%Y%m%d` #echo $thisdate thisday=`date -d @$beg_s +%m%d` #echo $thisday search=`grep -c 'search words' $thisday.log` #Today=`date -d $thisdate +%Y%m%d` echo "$thisdate搜尋總量$search" search_allcount=`expr $search_allcount + $search` beg_s=$((beg_s+86400
)) done fi echo "總量$search_allcount"

感想:shell的風格在賦值時不能有空格,數學運算需加上expr,if條件用中口號,大小比較需用字母表示,等等,這些需要剛寫shell的時候注意下

相關推薦

一個shell 日誌統計

功能:統計日誌中包含特定字串的行數 #!/bin/bash #輸入引數:要查詢的開始日期,要查詢的結束日期 例如: sh count.sh 20160625 20160703 注:區間不得超過15天 datebeg=$1 dateend=$2 #echo

shell--1、一個shell腳本

shell腳本打開文本編輯器(可以使用 vi/vim 命令來創建文件),新建一個文件 test.sh,擴展名為 sh(sh代表shell),擴展名並不影響腳本執行,見名知意就好,如果你用 php 寫 shell 腳本,擴展名就用 php 好了。輸入一些代碼,第一行一般是這樣:#!/bin/bash echo

編寫一個Shell指令碼【TLCL】

怎樣編寫一個 Shell 指令碼 編寫一個指令碼 使指令碼檔案可執行 把指令碼放到Shell能夠找到的地方 指令碼檔案格式 #!/bin/bash # This is our first script. echo 'Hello World!' #

idea開發一個spark程式---統計文字單詞數

在建立專案之前確保自己本地安裝好了scala環境和java環境,因為spark是scala編寫的,scala和java一樣都是需要編譯成位元組碼,然後在JVM裡面執行。我本地的scala版本是2.11.0版本,hadoop是2.7.6版本 第一步:開啟idea,然後建立一個

編寫一個shell指令碼檔案

vi test.sh 這樣就新建了一個名為test.sh的指令碼檔案,之後按i進入編輯模式,輸入以下內容: echo "What is your name?" read PERSON echo "Hello, $PERSON" 按esc鍵退出編輯模式,再輸

ubuntu上一個shell指令碼

Ubuntu下第一個shell指令碼 在home目錄下新建資料夾xk mkdir xk 進入xk資料夾,新建檔案helloshell touch helloshell 在helloshell檔案中輸入如下內容: #!/bin/bash

常用的shell日誌統計指令碼

egrep "2017:15:" access.log | awk '{print $6}'| sort | uniq -c | sort -rn | head sort -u 去重 保證唯一性 uniq 去除連續性的重複 sort + uniq -c 是黃金搭檔 sor

mac下編寫自己的一個shell指令碼

bash shell兩種工作模式 互動模式和指令碼模式 指令碼模式效率更高,可以實現自動化 1.helloworld.sh vi helloworld.sh #!/bin/bash echo "hello world 2018.11.1" #!bin/bash 是用

藍橋杯九屆省賽:八題 日誌統計

標題:日誌統計小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是:ts id  表示在ts時刻編號id的帖子收到一個"贊"。  現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少於K個贊,小明就

一個Shell程式

指令碼示例 vim hello.sh #!/bin/bash >註釋:#! 是一個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 Shell echo "Hello

一個Shell指令碼-lint檢查以及報告收集

作用 在不需要開發修改android專案配置檔案的情況下,執行Android lint檢查,檢查完後,將各個aar包下的檢查結果從遠端機器copy到節點機器上來。 原始碼 #!/bin/s

Shell】建立一個腳本統計當前登錄用戶數

得出 pla 用戶信息 shell splay col ont char image who命令who命令是顯示目前登陸系統的用戶信息,執行who命令可以得知目前哪些用戶登入系統,單獨執行who命令會列出登入賬號,使用的終端機,登入的時間以及從何處登入或正在使用哪個顯示器。

我的一個python web開發框架(40)——後臺日誌與異常處理

1 #!/usr/bin/env python 2 # coding=utf-8 3 4 from bottle import put 5 from common import web_helper, encrypt_helper, security_helper 6

Python每日一題:3題:統計一個檔案中每個單詞出現的次數

題目: 統計一個檔案中每個單詞出現的次數,列出出現頻率最多的5個單詞。 前言: 這道題在實際應用場景中使用比較廣泛,比如統計歷年來四六級考試中出現的高頻詞彙,記得李笑來就利用他的程式設計技能出版過一本背單詞的暢銷書,就是根據詞頻來記單詞,深受學生喜歡。這就是一個把程式設計技能用來解決實際問

安卓學習LESSON6:編寫一個APP(Activity與Layout)與 LOG日誌

大概瞭解了安卓程式碼的結構,開發環境也都已經準備完畢,現在開始做一個簡單的APP,熟悉一下安卓程式碼除錯的過程,Activity檔案的一些功能控制,與佈局檔案的編寫,Activity中 setContentView方法中引數即所用的佈局檔案。 Android開發是基於一定框架的,所以很

2018省賽九屆藍橋杯真題C語言B組八題題解 日誌統計

標題:日誌統計小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是:ts id  表示在ts時刻編號id的帖子收到一個"贊"。  現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少於K個贊,小明就

Flask學習日誌一(2)-一個flask程式

# 從flask這個框架匯入flask這個類 from flask import Flask #初始化一個Flask物件 # Flask() # 需要傳遞一個引數 __name__ # 1.方便fla

2018年九屆藍橋杯【C++省賽B組】【八題:日誌統計】——附解題程式碼

2018年第九屆藍橋杯題目彙總 第八題 標題:日誌統計 小明維護著一個程式設計師論壇。現在他收集了一份”點贊”日誌,日誌共有N行。其中每一行的格式是: ts id 表示在ts時刻編號id的帖子收到一個”贊”。 現在

2018 藍橋杯 省賽 B組 原題 C語言B組 8題 九屆藍橋杯真題 日誌統計

標題:日誌統計小明維護著一個程式設計師論壇。現在他收集了一份"點贊"日誌,日誌共有N行。其中每一行的格式是:ts id  表示在ts時刻編號id的帖子收到一個"贊"。  現在小明想統計有哪些帖子曾經是"熱帖"。如果一個帖子曾在任意一個長度為D的時間段內收到不少於K個贊,小明就

一個Pyhon程式:輸入字串中字母個數的統計

def main(): char1 = input1() display(char1) count_and_display(char1) def input1():