awk小練習

linux awk

1、統計/etc/fstab文件中每個文件系統類型出現的次數
[root@CentOS74 ~]#awk ‘/^(UUID)/{types[$3]++}END{for(type in types){printf “%-6s : %5d\n”,type,types[type]}}’ /etc/fstab
swap : 1
xfs : 3
[root@CentOS74 ~]#

2、統計/etc/fstab文件中每個單詞出現的次數
#awk ‘{for(i=1;i<=NF;i++)words[$i]++}END{for(word in words){printf “%-50s : %5d\n”,word,words[word]}}’ /etc/fstab

3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有數字
方法一:
[root@CentOS74 ~]#echo “Yd$C@M05MB%9&Bdh7dq+YVixp3vpw” | awk -F ” ‘{for(i=1;i<=NF;i++){if($i ~ /[[:digit:]]/){str=$i;strs=(strs str)}}print strs}’
05973
[root@CentOS74 ~]#

方法二:
[root@CentOS74 ~]#echo “Yd$C@M05MB%9&Bdh7dq+YVixp3vpw” | awk -F ” ‘{for(i=1;i<=NF;i++){if($i ~ /[[:digit:]]/){strs[i]=$i}}}END{for(str in strs){printf “%d”,strs[str]}printf “\n”}’
05937
[root@CentOS74 ~]#

4、解決DOS攻擊生產案例:根據web日志或者或者網絡連接數,監控當某個IP并發連接數或者短時內PV達到100,
即調用防火墻命令封掉對應的IP,監控頻率每隔5分鐘。防火墻命令為:iptables -A INPUT -s IP -j REJECT
[root@CentOS74 bin]#cat deny_dos.sh
#!/bin/bash

for ip in `awk ‘/^[0-9]+/{ipaddrs[$1]++}END{for(ipaddr in ipaddrs){if(ipaddr>=100)print ipaddr}}’ /root/bin/access_log`
do

eval echo -e ‘$ip iptables -A INPUT -s $ip -j REJECT’i | tee -a /root/bin/iptables.log
/usr/sbin/iptables -A INPUT -s $ip -j REJECT
if [ $? -eq 0 ]; then
eval echo -e ‘add OK: iptables -A INPUT -s $ip -j REJECT’ | tee -a /root/bin/iptables.log
fi
done
[root@CentOS74 bin]#
[root@CentOS74 ~]#crontab -l
*/5 * * * * /root/bin/deny_dos.sh $> /dev/null
[root@CentOS74 ~]#

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99012

(0)
linux_testlinux_test
上一篇 2018-05-20 17:55
下一篇 2018-05-20 18:54

相關推薦

  • Linux第一周命令總結

    hostname? 完整主機名? cat +文件路徑 可查看文件信息 cat /etc/centos-release 查看文件? 版本的名稱、發行時間所有shell cat/etc/shells? 顯示當前系統使用的 lsd_release -a? 命令? 查看版本 /etc/centos-release 是文本文件? cat是查看文本的命令 uname-r…

    2018-07-22
  • 正則表達式

    正則表達式REGEXP 有一類特殊符號表是控制伙同裴的功能程序支持:grep,seb,。。?;菊齽t表達式:BRE擴展正則表達式;ere采用不同算法經檢查處理正則表達式的軟件模塊PCRE元字符:字符匹配,匹配次數,位置錨定,分組 man7詳細文檔 字符匹配.表示任意的單一字符 放在[]里表示.本身不需要轉義\.轉義(回歸字符本身的含義)表示.本身[]表示字符…

    Linux筆記 2018-04-08
  • 第一周博客(2)

    Linux的發行版

    Linux筆記 2018-05-12
  • 運維之ansible

    運維工作:系統安裝(物理機、虛擬機)–> 程序包安裝、配置、服務啟動 –> 批量操作 –> 程序發布 ?–> 監控 穩定可用 ? ? ——- ? ? ?標準化 ? ? ? ? ? ?——— ? ? ? ?自動化 系統安裝: 1、…

    2018-07-16
欧美性久久久久