請大神指導從大日誌文件中統計關鍵字次數的辦法
- awk ‘NR==FNR{a[$0]=1;next}{if($0 in a)b[$0]++}END{for (i in b)print i,b[i]}‘ filea fileb | sort
- 文件A中有若幹行數據,每行為一個關鍵字
文件B為大日誌文件,大小為10G以下
想著能夠統計出文件A中每個關鍵字在B中的出現次數,例如
行1,3
行2,10
行3,100
。。。。。
最笨的辦法是逐行讀入後用grep,但是太費時間,有沒有只打開一次B文件,就能把A中所有行都統計出來的辦法呢? - aaa 3
- bbb 3
- ccc 4
- ddd 2
- 給個大概的思路你,因為不知道你的文本時怎樣的,所以沒考慮邊界問題,自己根據實際情況改一下吧~
awk ‘ARGIND==1{a[$0]}ARGIND==2{for(i in a)if($0~i)a[i]++}ARGIND==3{printf "%s,%d\n",$0,a[$0]}‘ a b
請大神指導從大日誌文件中統計關鍵字次數的辦法
相關推薦
請大神指導從大日誌文件中統計關鍵字次數的辦法
行數據 文本 一次 next 自己 end 不知道 lock printf awk ‘NR==FNR{a[$0]=1;next}{if($0 in a)b[$0]++}END{for (i in b)print i,b[i]}‘ filea fileb | sort 文件
linux----tail 過濾日誌文件中的關鍵字
文件中 是否 內容 關鍵詞 linu 匹配 所有 head grep -n linux tail 過濾日誌文件中的關鍵字 1.查看日誌文件中帶有指定關鍵詞的日誌信息 tail -f 日誌文件名 | grep 關鍵字 | grep 關鍵字 2.查看日誌文件最後1000行
logrotate切割日誌後,新的日誌還是寫入到老的日誌文件中
logrotate線上生產環境中,安裝了dnsmasq,並記錄日誌。由於每一次dns查詢都會生產日誌,考慮到日誌量越來越大,就用logrotate做日誌輪轉。配置如下:/var/log/dnsmasq/dnsmasq.log { daily //按天輪轉日誌 rotat
去掉message日誌文件中su命令的記錄
message su auth rsyslog 腳本執行需要root權限,但腳本中使用su命令來執行其他命令或腳本,比如使用nginx用戶調用日誌統計腳本。在/var/log/message日誌中有過多的日誌顯示Jun 28 10:28:06 localhost su: (to nginx)
將PHP錯誤輸入到日誌文件中
error_log ack rep repo 輸入 error 位置 代碼 顯示錯誤 (LAMP)禁止客戶端瀏覽器顯示PHP代碼錯誤,將錯誤信息保存到日誌文件中:在php配置文件中找到php.ini(如在Centos6.7下的/etc/php.ini中),設置 displ
使用awk統nginx日誌文件ip訪問站點次數
nginx web ip次數 awk | 表示分隔符,$4表示第四列awk -F"|" ‘{count[$4]++}END{for (ip in count) {printf "%-20s:%d\n",ip,count[ip]}}‘ access_log本文出自 “Linux 系統運維” 博
Linux下Shell命令的輸出信息同時顯示在屏幕和保存到日誌文件中
blog inux -a 輸出 輸出內容 使用 col 文件中 信息 #直接覆蓋日誌文件 ls -l | tee ./t.log #將輸出內容附加到日誌文件 ls -l | tee -a ./t.log 使用的是tee命令Linux下She
第二章 從鍵盤或文件中獲取標準輸入:read命令
read命令 從鍵盤或文件中獲取標準輸入 第二章 從鍵盤或文件中獲取標準輸入:read命令 read命令 從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合。該命令可以一次讀多個變量的值,變量和輸入的值都需要使用空格隔開。在read命令後面,如果沒有指定變量名,讀取的數據將被自動賦值給
監控每隔5分鐘檢測一次日誌文件中是否有某個關鍵字
grep 實現 報警 one bin 循環 過濾 xxx key 今有需求:需要監控每隔五分鐘檢測一次日誌文件是否出自按某個關鍵字。利用過濾全部的日誌信息 雖然可以過濾出來關鍵字告警,但是修復後,依然還是會報警,存在局限性,所以需要使用以下辦法來實現需求。 實現思路比較簡單
當日誌文件中的時間與主機時間不同步時,怎麽監控每隔五分鐘檢測一次日誌文件是否出自按某個關鍵字?
定向 一次 ech 告警 腳本 發現 監控 文件中 但是 今有需求:需要監控每隔五分鐘檢測一次日誌文件是否出自按某個關鍵字。利用過濾全部的日誌信息 雖然可以過濾出來關鍵字告警,但是修復後,依然還是會報警,存在局限性,所以需要使用以下辦法來實現需求。 本想循環獲取5分鐘內的時
統計字符串在文件中出現的次數
shell統計a出現的次數[[email protected]/* */ ~]# cat aa.txtsdkasdasasdkasdaajdksaaksldjkalsdaskdlaskdasdjjaskjdasdaskdasdkaslkdasdkalskdjaskdljalskdkalsjdkla
shell截取文件中的關鍵字
str 取字符 ood jpg lai linux 截斷 fix 通配符 1.Linux shell 截取字符變量的前8位 實現方法有如下幾種: expr substr “$a” 1 8 echo $a|awk ‘{print substr(,1,8)}’ echo $a
日誌文件過大的問題
xweb stp net web mst 大小 sta size ams 本次發布會造成..\Camstar\Camstar WCF Services\web.config 內容增加非常大,會造成登錄錯誤: HKEY_LOCAL_MACHINESOFTWARE\Mi
SQL2014清除日誌文件(DBName_Log過大)
dbn tab -s .net rec ima sys -1 png SQL2005:Backup Log DBName with no_log ‘這裏的DBName是你要收縮的數據庫名。GOdump transaction DBName with no_log --
求大神指導思路!!!!!!!!!!!
.com 3.0 text images ip地址 連接 ima dhcp 端口 要求:1、R1\R2\R3分別連接不同的樓宇 A\B\C;2、樓宇A #存在 VLAN10、VLAN20 ,VLAN30,網段為:192.168.10.0/24
SQL Server 2008 收縮日誌 清空刪除大日誌文件
時間 server 系統 cti sim 個數 class alter sql2005 SQL2008 的收縮日誌 由於SQL2008對文件和日誌管理進行了優化,所以以下語句在SQL2005中可以運行但在SQL2008中已經被取消:(SQL2005)BackupLog
Jenkins日誌文件過大解決方案
Jenkins一、寫定時任務刪除日誌文件 # crontab -e * * * * */1 rm -rf /var/log/jenkins/* 二、修改jenkins日誌的級別 解決方案1:使用java.util.logging:創建一個文件logging.properties,您可以在其中定義日誌級別和
求大神指導如何操作
求指點求大神指導如何操作
SQL Server日誌文件過大 大日誌文件清理方法 不分離數據庫
only 數據 時間 .net 壓縮 pre 附加 AR use SQL Server日誌文件過大 大日誌文件清理方法 ,網上提供了很多分離數據庫——〉刪除日誌文件-〉附加數據庫 的方法,此方法風險太大,過程也比較久,有時候也會出現分離不成功的現象。下面的方式是不需要
tomcat的catalina.out日誌文件過大
du命令 ava tar.gz 日誌 服務器 .html stack dev nbsp 今天發現一個服務器的/opt目錄數據過大,最後發現是tomcat中的catalina.out日誌過大引起的 用du命令查看opt下一層的數據文件大小 [root@ccssapportal