{"id":294,"date":"2021-07-04T19:55:12","date_gmt":"2021-07-04T11:55:12","guid":{"rendered":"https:\/\/www.buyao007.icu\/?p=294"},"modified":"2021-07-04T19:58:57","modified_gmt":"2021-07-04T11:58:57","slug":"15-linux%e5%9b%9b%e5%89%91%e5%ae%a2%e4%b9%8bawk%e6%95%b0%e7%bb%84","status":"publish","type":"post","link":"https:\/\/www.buyao007.icu\/?p=294","title":{"rendered":"15.Linux\u56db\u5251\u5ba2\u4e4bawk\u6570\u7ec4"},"content":{"rendered":"\n<p style=\"font-size:18px\">\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6\u7fa4\u67b6\u6784\u4e0e\u81ea\u52a8\u5316\u8fd0\u7ef4\uff0c\u66fe\u8d1f\u8d23\u56fd\u5185\u67d0\u5927\u578b\u535a\u5ba2\u7f51\u7ad9\u8fd0\u7ef4\u5de5\u4f5c\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\">1.Awk\u6570\u7ec4\u6982\u8ff0<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">1.\u4ec0\u4e48\u662fawk\u6570\u7ec4<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>\u6570\u7ec4\u5176\u5b9e\u4e5f\u7b97\u662f\u53d8\u91cf, \u4f20\u7edf\u7684\u53d8\u91cf\u53ea\u80fd\u5b58\u50a8\u4e00\u4e2a\u503c\uff0c\u4f46\u6570\u7ec4\u53ef\u4ee5\u5b58\u50a8\u591a\u4e2a\u503c\u3002<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">2.awk\u6570\u7ec4\u5e94\u7528\u573a\u666f<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>\u901a\u5e38\u7528\u6765\u7edf\u8ba1\u3001\u6bd4\u5982\uff1a\u7edf\u8ba1\u7f51\u7ad9\u8bbf\u95eeTOP10\u3001\u7f51\u7ad9Url\u8bbf\u95eeTOP10\u7b49\u7b49\u7b49<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">3.awk\u6570\u7ec4\u7edf\u8ba1\u6280\u5de7<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>1.\u5728awk\u4e2d\uff0c\u4f7f\u7528\u6570\u7ec4\u65f6\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u4f7f\u75281 2 3 ..n\u4f5c\u4e3a\u6570\u7ec4\u7d22\u5f15\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u5b57\u7b26\u4e32\u4f5c\u4e3a\u6570\u7ec4\u7d22\u5f15\u3002\n2.\u8981\u7edf\u8ba1\u67d0\u4e2a\u5b57\u6bb5\u7684\u503c\uff0c\u5c31\u5c06\u8be5\u5b57\u6bb5\u4f5c\u4e3a\u6570\u7ec4\u7684\u7d22\u5f15\uff0c\u7136\u540e\u5bf9\u7d22\u5f15\u8fdb\u884c\u904d\u5386\u3002<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">4.awk\u6570\u7ec4\u7684\u8bed\u6cd5<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>array_name&#91;index]=value<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">5.awk\u6570\u7ec4\u793a\u4f8b<\/h3>\n\n\n\n<p style=\"font-size:18px\">1.\u7edf\u8ba1\/etc\/passwd\u4e2d\u5404\u79cd\u7c7b\u578bshell\u7684\u6570\u91cf<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~]# awk -F \":\" '{a&#91;$NF]++}END{for (i in a){printf \"%-20s%s\\n\",i,a&#91;i]}}' \/etc\/passwd\n\/bin\/sync           1\n\/bin\/bash           3\n\/sbin\/nologin       21\n\/sbin\/halt          1\n\/sbin\/shutdown      1\n<strong>###\u6216\u8005\u5199\u5230\u6587\u4ef6\u91cc<\/strong>\n&#91;root@test ~\/2021-07-02]# cat jishu.awk \nBEGIN{\n    FS=\":\"\n}\n#\u8d4b\u503c\u64cd\u4f5c\uff08\u56e0\u4e3aawk\u662f\u4e00\u884c\u4e00\u884c\u8bfb\u5165\u7684\uff0c\u76f8\u5f53\u662f\u5faa\u73af\u4e86\u6574\u4e2a\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\uff09\n{\n    hosts&#91;$NF]++\n}\n#\u8d4b\u503c\u5b8c\u6210\u540e\uff0c\u9700\u8981\u901a\u8fc7\u5faa\u73af\u7684\u65b9\u5f0f\u5c06\u5176\u7d22\u5f15\u7684\u6b21\u6570\u904d\u5386\u51fa\u6765\nEND {\n    for (item in hosts) {\n        print item,\n        hosts&#91;item]\n    }\n}\n&#91;root@test ~\/2021-07-02]# awk -f jishu.awk \/etc\/passwd\n\/bin\/sync 1\n\/bin\/bash 3\n\/sbin\/nologin 21\n\/sbin\/halt 1\n\/sbin\/shutdown 1<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">2.\u7edf\u8ba1\u4e3b\u673a\u4e0a\u6240\u6709\u7684tcp\u94fe\u63a5\u72b6\u6001\u6570\uff0c\u6309\u7167\u6bcf\u4e2atcp\u72b6\u6001\u5206\u7c7b<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~]# netstat -an | grep tcp | awk '{arr&#91;$6]++}END{for (i in arr) print i,arr&#91;i]}'\nLISTEN 4\nESTABLISHED 3<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">3.\u7edf\u8ba1\u5f53\u524d\u7cfb\u7edf22\u7aef\u53e3\u8fde\u63a5\u72b6\u6001\u4fe1\u606f\u3002&lt;\u5f53\u524d\u65f6\u5b9e\u72b6\u6001ss&gt;<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~]# ss -an|awk '\/:22\/{tcp&#91;$2]++} END {for(i in tcp){print i,tcp&#91;i]}}'\nLISTEN 2\nESTAB 3<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">4.\u7edf\u8ba1\u5f53\u524d\u8bbf\u95ee\u7684\u6bcf\u4e2aIP\u7684\u6570\u91cf&lt;\u5f53\u524d\u65f6\u5b9e\u72b6\u6001 netstat,ss&gt;<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>\n\n&#91;root@sfy ~]# ss -an|awk '$5~\/:443\/{ips&#91;$5]++} END {for(i in ips){print i,ips&#91;i]}}'\n172.17.188.85:443 324\n*:443 1<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\">2.Awk\u6570\u7ec4\u793a\u4f8b<\/h2>\n\n\n\n<p style=\"font-size:18px\">Nginx\u65e5\u5fd7\u5206\u6790\uff0c\u65e5\u5fd7\u683c\u5f0f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>log_format  main  '$remote_addr - $remote_user &#91;$time_local] \"$request\" '\n                      '$status $body_bytes_sent \"$http_referer\" '\n                      '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n52.55.21.59 - - &#91;25\/Jan\/2018:14:55:36 +0800] \"GET \/feed\/ HTTP\/1.1\" 404 162 \"https:\/\/www.buyao007.icu\/\" \"Opera\/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; de) Presto\/2.9.168 Version\/11.52\" \"-\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">1.\u4ec5\u4f7f\u7528awk\u7edf\u8ba1\u4e00\u5929\u5185\u8bbf\u95ee\u6700\u591a\u768410\u4e2aIP<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat access_ip.awk\n{\n\tip&#91;$1]++\n}\nEND{\n\tfor (i=30000;i&gt;0;i--){\n\t\tfor ( b in ip ){\n\t\t\tif (i==ip&#91;b]){\n\t\t\t\tprintf \"%-15s%-10s%s\\n\",b,\"\u51fa\u73b0\u7684\u6b21\u6570\u4e3a\",ip&#91;b]\n\t\t\t\tc++\n\t\t\t\tbreak\n\t\t\t}\n\t\t#\tif (c==10){exit}\n\t\t}\n\t\tif (c==10){break}\n\t}\n}\n&#91;root@test ~\/2021-07-02]# awk -f access_ip.awk access.log \n58.220.223.62  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    12049\n112.64.171.98  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    10856\n114.83.184.139 \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1982\n117.136.66.10  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1662\n115.29.245.13  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1318\n223.104.5.197  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    961\n116.216.0.60   \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    957\n180.111.48.14  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    939\n223.104.5.202  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    871\n223.104.4.139  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    869<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">2.\u7edf\u8ba1\u8bbf\u95ee\u5927\u4e8e10000\u6b21\u7684IP<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat access_ip\\&gt;10000.awk \n{\n\tip&#91;$1]++\n}\nEND{\n\tfor (i=30000;i&gt;=10000;i--){\n\t\tfor ( b in ip ){\n\t\t\tif (i==ip&#91;b]){\n\t\t\t\tprintf \"%-15s%-10s%s\\n\",b,\"\u51fa\u73b0\u7684\u6b21\u6570\u4e3a\",ip&#91;b]\n\t\t\t\tc++\n\t\t\t\tbreak\n\t\t\t}\n\t\t#\tif (c==10){exit}\n\t\t}\n\t\tif (c==10){break}\n\t}\n}\n&#91;root@test ~\/2021-07-02]# awk -f access_ip\\&gt;10000.awk access.log \n58.220.223.62  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    12049\n112.64.171.98  \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    10856<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">3.\u7edf\u8ba1\u8bbf\u95ee\u6700\u591a\u768410\u4e2a\u9875\u9762($request top 10)<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat ngx_request_top_10.awk \n{\n\tip&#91;$7]++\n}\nEND{\n\tfor (i=5000;i&gt;=1;i--){\n\t\tfor ( b in ip ){\n\t\t\tif (i==ip&#91;b]){\n\t\t\t\tprintf \"%-15s%-10s%s\\n\",b,\"\u51fa\u73b0\u7684\u6b21\u6570\u4e3a\",ip&#91;b]\n\t\t\t\tc++\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif (c==10){break}\n\t}\n}\n&#91;root@test ~]# awk -f ngx_request_top_10.awk access.log\n\/online\/api\/mc\/cart\/new\/getCart.json\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    4838\n\/online\/api\/mc\/sys\/nowTime.json\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    3859\n\/online\/mc\/crm\/integration\/ance.json\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    2445\n\/online\/api\/mc\/cart\/save.json\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1872\n\/ccbs\/global\/ontextPath.jsp\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1797\n\/mobile\/ account\/tpl\/footerTpl.html\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1548\n\/online\/aguage=zh_CNECIAL_MENU\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    1344\n\/mobile\/tpl\/productCategoryTpl.html\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    912\n\/ccbs\/ plugins\/images\/loading.gif\u51fa\u73b0\u7684\u6b21\u6570\u4e3a    838\n\/favicon.ico   \u51fa\u73b0\u7684\u6b21\u6570\u4e3a    810<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">4.\u7edf\u8ba1\u6bcf\u4e2aURL\u8bbf\u95ee\u5185\u5bb9\u603b\u5927\u5c0f($body_bytes_sent)<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat ngx_request_body.awk \n{\n\tip&#91;$7]=$10+ip&#91;$7]\n}\nEND{\n\tfor ( b in ip ){\n\t\tprintf \"%-15s%-10s%s\\n\",b,\"\u5927\u5c0f\u4e3a\",ip&#91;b]\/1024\/1024\"MB\"\n\t}\n}\n&#91;root@test ~\/2021-07-02]# awk -f ngx_request_body.awk access.log|sort -k2 -nr|head\n\/mobe\/the\/odu\/home\/images\/11\/03.png\u5927\u5c0f\u4e3a       109.826MB\n\/mobe\/the\/odu\/home\/images\/11\/04.png\u5927\u5c0f\u4e3a       98.5827MB\n\/mobe\/the\/odu\/home\/images\/11\/02.png\u5927\u5c0f\u4e3a       98.2485MB\n\/mobe\/the\/odu\/home\/images\/11\/05.png\u5927\u5c0f\u4e3a       78.9912MB\n\/online\/images\/pro _90601.png\u5927\u5c0f\u4e3a       63.8436MB\n\/online\/odbproduct_90602.png\u5927\u5c0f\u4e3a       63.4223MB\n\/online\/oges\/prodduct_90600.png\u5927\u5c0f\u4e3a       62.222MB\n\/mobe\/the\/odu\/11\/4.png?v=21020\u5927\u5c0f\u4e3a       59.6233MB\n\/mobe\/the\/odu\/home\/images\/11\/2.png\u5927\u5c0f\u4e3a       59.1334MB\n\/mobe\/the\/odu\/home\/images\/11\/01.png\u5927\u5c0f\u4e3a       57.6912MB<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">5.\u7edf\u8ba111\u670822\u65e5\uff0c\u6bcf\u4e2aIP\u8bbf\u95ee\u72b6\u6001\u7801\u6570\u91cf($status)<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat ngx_ip_code.awk \n$3~\/22\\\/Nov\/\n{\n    ip_code&#91;$1\" \"\"\u72b6\u6001\u7801\"\" \"$9]++\n}\nEND{\n    for ( item in ip_code ) {\n        print item,ip_code&#91;item]\n    }\n}\n&#91;root@test ~\/2021-07-02]# awk -f  ngx_ip_code.awk access.log |sort -k4 -rn|head|sort  -k1.1,1.13 -nrk4|column -t\n223.104.5.197   \u72b6\u6001\u7801  200  958\n117.136.66.10   \u72b6\u6001\u7801  200  1655\n116.216.0.60    \u72b6\u6001\u7801  200  951\n114.83.184.139  \u72b6\u6001\u7801  200  1975\n112.64.171.98   \u72b6\u6001\u7801  200  5803\n112.64.171.98   \u72b6\u6001\u7801  304  3792\n112.64.171.98   \u72b6\u6001\u7801  404  1148\n58.220.223.62   \u72b6\u6001\u7801  304  6412\n58.220.223.62   \u72b6\u6001\u7801  200  4421\n58.220.223.62   \u72b6\u6001\u7801  404  956<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">6.\u7edf\u8ba1\u6bcf\u4e2aip\u8bbf\u95ee\u72b6\u6001\u7801\u4e3a404\u53ca\u51fa\u73b0\u7684\u6b21\u6570($status)<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat ngx_status_top_404.awk \n$3~\/22\\\/Nov\/\n{\n    ip_code&#91;$1\" \"\"\u72b6\u6001\u7801\"\" \"$9]++\n}\nEND{\n    for ( item in ip_code ) {\n\tif (item~\/404$\/){\n\t\tprint item,ip_code&#91;item]\n\t}\n    }\n}\n&#91;root@test ~\/2021-07-02]# awk -f  ngx_status_top_404.awk access.log|sort -nrk4|head|sort -k1.1,1.13 -r -nrk4|column -t\n219.145.184.196  \u72b6\u6001\u7801  404  51\n182.34.127.126   \u72b6\u6001\u7801  404  51\n175.25.171.26    \u72b6\u6001\u7801  404  46\n140.206.89.150   \u72b6\u6001\u7801  404  45\n115.29.245.13    \u72b6\u6001\u7801  404  89\n114.141.164.19   \u72b6\u6001\u7801  404  51\n114.111.166.19   \u72b6\u6001\u7801  404  60\n112.64.171.98    \u72b6\u6001\u7801  404  1148\n58.220.223.62    \u72b6\u6001\u7801  404  956\n10.8.4.6         \u72b6\u6001\u7801  404  57<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">7.\u7edf\u8ba1\u5404\u79cd\u72b6\u6001\u7801\u6570\u91cf<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>#\u7edf\u8ba1\u72b6\u6001\u7801\u51fa\u73b0\u7684\u6b21\u6570\n&#91;root@test ~\/2021-07-02]# awk '{code&#91;$9]++} END {for(i in code){print i,code&#91;i]}}' access.log \n408 13\n301 146\n302 789\n304 18712\n400 242\n403 37\n200 142666\n413 50\n404 3863\n500 7\n499 418 \n&#91;root@test ~]#  awk '{if ($9&gt;=200 &amp;&amp; $9&lt;300) {j++}\\\nelse if ($9&gt;=300 &amp;&amp; $9&lt;400) {k++}\\\nelse if ($9&gt;=400 &amp;&amp; $9&lt;500) {n++}\\\nelse if($9&gt;=500) {p++}}\\\nEND{\\\nprintf \"%s%s%s%s%s\\n\",j\"\\n\",k\"\\n\",n\"\\n\",p\"\\n\",i+j+k+n+p}' access.log <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" style=\"font-size:25px\">3.Awk\u6570\u7ec4\u6848\u4f8b<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-size:22px\">1.\u6a21\u62df\u751f\u4ea7\u73af\u5883\u6570\u636e\u811a\u672c<\/h3>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat insert.sh\n#!\/bin\/bash\nfunction create_random()\n{\n    min=$1\n    max=$(($2-$min+1))\n    num=$(date +%s%N)\n    echo $(($num%$max+$min))\n}\nINDEX=1\ni=1\nwhile &#91; $i -le 3000 ]\ndo\n    for user in liu guan zhang sun fuyang\n    do\n        COUNT=$RANDOM\n        NUM1=`create_random 1 $COUNT`\n        NUM2=`expr $COUNT - $NUM1`\n        echo \"`date '+%Y-%m-%d %H:%M:%S'` $INDEX user: $user insert $COUNT records into datebase:product table:detail, insert $NUM1 records successfully,failed $NUM2 records\" &gt;&gt; .\/db.log.`date +%Y%m%d`\n        INDEX=`expr $INDEX + 1`\n    done\ni=$&#91;$i+1]\ndone\n\u6570\u636e\u683c\u5f0f\u5982\u4e0b\uff1a\n2021-07-04 16:11:15 5000 user: fuyang insert 4704 records into datebase:product table:detail, insert 1243 records successfully,failed 3461 records<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">\u9700\u6c421\uff1a\u7edf\u8ba1\u6bcf\u4e2a\u4eba\u5206\u522b\u63d2\u5165\u4e86\u591a\u5c11\u6761records\u8fdb\u6570\u636e\u5e93<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat db1.awk \nBEGIN {\n    printf \"%-20s%-20s\\n\",\"User\",\"Total records\"\n} \n{\n    success&#91;$5]+=$7\n    #success&#91;$5]=success&#91;$5]+$7\n} \nEND { \n    for (u in success)\n    printf \"%-20s%-20d\\n\",u,success&#91;u]\n}\n&#91;root@test ~\/2021-07-02]# awk -f db1.awk db.log.20210704 \nUser                Total records       \nguan                16355784            \nliu                 16838450            \nfuyang              16517171            \nsun                 16383219            \nzhang               16444839<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">\u9700\u6c422\uff1a\u7edf\u8ba1\u6bcf\u4e2a\u4eba\u5206\u522b\u63d2\u5165\u6210\u529f\u4e86\u591a\u5c11record\uff0c\u5931\u8d25\u4e86\u591a\u5c11record<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat db2.awk \nBEGIN {\n    printf \"%-20s%-20s%-20s\\n\",\"User\",\"Success\",\"Failed\"\n} \n{\n    success&#91;$5]+=$13\n    failed&#91;$5]+=$16\n} \nEND { \n    for (u in success) \n    printf \"%-20s%-20d%-20d\\n\",u,success&#91;u],failed&#91;u]\n}\n&#91;root@test ~\/2021-07-02]# awk -f db2.awk db.log.20210704 \nUser                Success             Failed              \nguan                8090983             8264801             \nliu                 7972402             8866048             \nfuyang              8281769             8235402             \nsun                 8102644             8280575             \nzhang               8408980             8035859<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">\u9700\u6c423\uff1a\u5c06\u9700\u6c421\u548c\u9700\u6c422\u7ed3\u5408\u8d77\u6765\uff0c\u4e00\u8d77\u8f93\u51fa\uff0c\u8f93\u51fa\u6bcf\u4e2a\u4eba\u5206\u522b\u63d2\u5165\u591a\u5c11\u6761\u6570\u636e\uff0c\u591a\u5c11\u6210\u529f\uff0c\u591a\u5c11\u5931\u8d25\uff0c\u5e76\u4e14\u8981\u683c\u5f0f\u5316\u8f93\u51fa\uff0c\u52a0\u4e0a\u6807\u9898<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>&#91;root@test ~\/2021-07-02]# cat db3.awk \nBEGIN {\n    printf \"%-10s%-10s%-10s%-10s\\n\",\"User\",\"Total\",\"Success\",\"Failed\"\n} \n{\n    success&#91;$5]+=$13\n    failed&#91;$5]+=$16\n} \nEND { \n    for (u in success) \n    printf \"%-10s%-10s%-10d%-10d\\n\",u,success&#91;u]+failed&#91;u],success&#91;u],failed&#91;u]\n}\n&#91;root@test ~\/2021-07-02]# awk -f db3.awk db.log.20210704 \nUser      Total     Success   Failed    \nguan      16355784  8090983   8264801   \nliu       16838450  7972402   8866048   \nfuyang    16517171  8281769   8235402   \nsun       16383219  8102644   8280575   \nzhang     16444839  8408980   8035859<\/code><\/pre>\n\n\n\n<p style=\"font-size:18px\">\u9700\u6c424\uff1a\u5728\u4f8b\u5b503\u7684\u57fa\u7840\u4e0a\uff0c\u52a0\u4e0a\u7ed3\u5c3e\uff0c\u7edf\u8ba1\u5168\u90e8\u63d2\u5165\u8bb0\u5f55\u6570\uff0c\u6210\u529f\u8bb0\u5f55\u6570\uff0c\u5931\u8d25\u8bb0\u5f55\u6570\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\" style=\"font-size:18px\"><code>\n&#91;root@test ~\/2021-07-02]# cat db4.awk \nBEGIN {\n    printf \"%-10s%-10s%-10s%-10s\\n\",\"User\",\"Total\",\"Success\",\"Failed\"\n} \n{\n    total&#91;$5]+=$7\n    success&#91;$5]+=$13\n    failed&#91;$5]+=$16\n    \n    #\u5728\u539f\u59cb\u6570\u636e\u8fdb\u884c\u7edf\u8ba1\u7d2f\u8ba1\n    total_sum+=$7\n    success_sum+=$13\n    failed_sum+=$16  \n} \nEND { \n    for (u in success) {\n    printf \"%-10s%-10s%-10d%-10d\\n\",u,total&#91;u],success&#91;u],failed&#91;u]\n    }\n    printf \"%-10s%-10s%-10d%-10d\\n\",\"total\",total_sum,success_sum,failed_sum\n}\n&#91;root@test ~\/2021-07-02]# awk -f db4.awk db.log.20210704 \nUser      Total     Success   Failed    \nguan      16355784  8090983   8264801   \nliu       16838450  7972402   8866048   \nfuyang    16517171  8281769   8235402   \nsun       16383219  8102644   8280575   \nzhang     16444839  8408980   8035859   \ntotal     82539463  40856778  41682685<\/code><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b59\u5bcc\u9633\uff0c \u6c5f\u6e56\u4eba\u79f0\u6ca1\u4eba\u79f0\u3002\u591a\u5e74\u4e92\u8054\u7f51\u8fd0\u7ef4\u5de5\u4f5c\u7ecf\u9a8c\uff0c\u66fe\u8d1f\u8d23\u8fc7\u5b59\u5e03\u65af\u5927\u89c4\u6a21\u96c6\u7fa4\u67b6\u6784\u81ea\u52a8\u5316\u8fd0\u7ef4\u7ba1\u7406\u5de5\u4f5c\u3002\u64c5\u957fWeb\u96c6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,15],"tags":[],"_links":{"self":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/294"}],"collection":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=294"}],"version-history":[{"count":3,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/294\/revisions"}],"predecessor-version":[{"id":298,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/294\/revisions\/298"}],"wp:attachment":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}