{"id":280,"date":"2021-07-04T17:32:46","date_gmt":"2021-07-04T09:32:46","guid":{"rendered":"https:\/\/www.buyao007.icu\/?p=280"},"modified":"2021-07-04T17:33:23","modified_gmt":"2021-07-04T09:33:23","slug":"14-linux%e5%9b%9b%e5%89%91%e5%ae%a2%e4%b9%8bawk%e6%96%87%e6%9c%ac%e5%a4%84%e7%90%86%e5%b7%a5%e5%85%b7","status":"publish","type":"post","link":"https:\/\/www.buyao007.icu\/?p=280","title":{"rendered":"14.Linux\u56db\u5251\u5ba2\u4e4bawk\u6587\u672c\u5904\u7406\u5de5\u5177"},"content":{"rendered":"\n<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\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<h1 class=\"wp-block-heading\">1.Awk\u57fa\u7840\u4ecb\u7ecd<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1.\u4ec0\u4e48\u662fawk<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>awk\u4e0d\u4ec5\u4ec5\u662f\u4e00\u4e2a\u6587\u672c\u5904\u7406\u5de5\u5177\uff0c\u901a\u5e38\u7528\u4e8e\u5904\u7406\u6570\u636e\u5e76\u751f\u6210\u7ed3\u679c\u62a5\u544a\u3002\u5f53\u7136awk\u4e5f\u662f\u4e00\u95e8\u7f16\u7a0b\u8bed\u8a00\uff0c\u662flinux\u4e0a\u529f\u80fd\u6700\u5f3a\u5927\u7684\u6570\u636e\u5904\u7406\u5de5\u5177\u4e4b\u4e00\u3002<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2.awk\u8bed\u6cd5\u683c\u5f0f<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\u7b2c\u4e00\u79cd\u5f62\u5f0f\uff1aawk 'BEGIN{} pattern {commands} END {}' file_name\n\u7b2c\u4e8c\u79cd\u5f62\u5f0f\uff1astandard output|awk BEGIN{} pattern {commands} END {}\n\u7b2c\u4e09\u79cd\u5f62\u5f0f\uff1aawk &#91;options] -f awk-script-file filenames\n\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u8bed\u6cd5\u683c\u5f0f<\/strong><\/td><td><strong>\u542b\u4e49<\/strong><\/td><\/tr><tr><td>BEGIN {}<\/td><td>\u6b63\u5f0f\u5904\u7406\u6570\u636e\u4e4b\u524d\u6267\u884c<\/td><\/tr><tr><td>pattern<\/td><td>\u5339\u914d\u6a21\u5f0f<\/td><\/tr><tr><td>{commands}<\/td><td>\u5904\u7406\u547d\u4ee4\uff0c\u53ef\u80fd\u591a\u884c<\/td><\/tr><tr><td>END{}<\/td><td>\u5904\u7406\u5b8c\u6240\u6709\u5339\u914d\u6570\u636e\u540e\u6267\u884c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\u542b\u4e49\u89e3\u91ca\uff1aBEGIN\u53d1\u73b0\u5728\u8bfb\u6587\u4ef6\u4e4b\u524d\uff0c\u6240\u6709\u4f1a\u5728\u5904\u7406\u4e4b\u524d\u5c31\u6267\u884c\u4e86\u3002{}\u8868\u793a\u5904\u7406\u6587\u4ef6\u7684\u8fc7\u7a0b\uff0c\u7531\u4e8e\u6587\u4ef6\u5185\u6709\u4e09\u884c\uff0c\u6240\u4ee5\u4f1a\u6267\u884c\u4e09\u6b21print\u3002END{}\u8868\u793a\u6587\u4ef6\u5904\u7406\u5b8c\u6bd5\u540e\u7684\u52a8\u4f5c\u3002<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">2.Awk\u5de5\u4f5c\u539f\u7406<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code># awk -F: '{print $1,$3}' \/etc\/passwd \n1.awk\u5c06\u6587\u4ef6\u4e2d\u7684\u6bcf\u4e00\u884c\u4f5c\u4e3a\u8f93\u5165, \u5e76\u5c06\u6bcf\u4e00\u884c\u8d4b\u7ed9\u5185\u90e8\u53d8\u91cf$0, \u4ee5\u6362\u884c\u7b26\u7ed3\u675f\n2.awk\u5f00\u59cb\u8fdb\u884c\u5b57\u6bb5\u5206\u89e3\uff0c\u6bcf\u4e2a\u5b57\u6bb5\u5b58\u50a8\u5728\u5df2\u7f16\u53f7\u7684\u53d8\u91cf\u4e2d\uff0c\u4ece$1\u5f00\u59cb&#91;\u9ed8\u8ba4\u7a7a\u683c\u5206\u5272]\n3.awk\u9ed8\u8ba4\u5b57\u6bb5\u5206\u9694\u7b26\u662f\u7531\u5185\u90e8FS\u53d8\u91cf\u6765\u786e\u5b9a, \u53ef\u4ee5\u4f7f\u7528-F\u4fee\u8ba2\n4.awk\u884c\u5904\u7406\u65f6\u4f7f\u7528\u4e86print\u51fd\u6570\u6253\u5370\u5206\u5272\u540e\u7684\u5b57\u6bb5\n5.awk\u5728\u6253\u5370\u540e\u7684\u5b57\u6bb5\u52a0\u4e0a\u7a7a\u683c\uff0c\u56e0\u4e3a$1,$3\u4e4b\u95f4\u6709\u4e00\u4e2a\u9017\u53f7\u3002\u9017\u53f7\u88ab\u6620\u5c04\u81f3OFS\u5185\u90e8\u53d8\u91cf\u4e2d\uff0c\u79f0\u4e3a\u8f93\u51fa\u5b57\u6bb5\u5206\u9694\u7b26\uff0cOFS\u9ed8\u8ba4\u4e3a\u7a7a\u683c.\n6.awk\u8f93\u51fa\u4e4b\u540e\uff0c\u5c06\u4ece\u6587\u4ef6\u4e2d\u83b7\u53d6\u53e6\u4e00\u884c\uff0c\u5e76\u5c06\u5176\u5b58\u50a8\u5728$0\u4e2d\uff0c\u8986\u76d6\u539f\u6765\u7684\u5185\u5bb9\uff0c\u7136\u540e\u5c06\u65b0\u7684\u5b57\u7b26\u4e32\u5206\u9694\u6210\u5b57\u6bb5\u5e76\u8fdb\u884c\u5904\u7406\u3002\u8be5\u8fc7\u7a0b\u5c06\u6301\u7eed\u5230\u6240\u6709\u884c\u5904\u7406\u5b8c\u6bd5.<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">3.Awk\u5185\u90e8\u53d8\u91cf<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u5185\u7f6e\u53d8\u91cf<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>$0<\/td><td>\u6574\u884c\u5185\u5bb9<\/td><\/tr><tr><td>$1-$n<\/td><td>\u5f53\u524d\u884c\u7684\u7b2c1-n\u4e2a\u5b57\u6bb5<\/td><\/tr><tr><td>NF<\/td><td>\u5f53\u524d\u884c\u7684\u5b57\u6bb5\u4e2a\u6570\uff0c\u4e5f\u5c31\u662f\u591a\u5c11\u5217<\/td><\/tr><tr><td>NR<\/td><td>\u5f53\u524d\u7684\u884c\u53f7\uff0c\u4ece1\u5f00\u59cb\u8ba1\u6570<\/td><\/tr><tr><td>FS<\/td><td>\u8f93\u5165\u5b57\u6bb5\u5206\u9694\u7b26\u3002\u4e0d\u6307\u5b9a\u9ed8\u8ba4\u4ee5\u7a7a\u683c\u6216tab\u952e\u5206\u5272<\/td><\/tr><tr><td>RS<\/td><td>\u8f93\u5165\u884c\u5206\u9694\u7b26\u3002\u9ed8\u8ba4\u56de\u8f66\u6362\u884c<\/td><\/tr><tr><td>OFS<\/td><td>\u8f93\u51fa\u5b57\u6bb5\u5206\u9694\u7b26\u3002\u9ed8\u8ba4\u4e3a\u7a7a\u683c<\/td><\/tr><tr><td>ORS<\/td><td>\u8f93\u51fa\u884c\u5206\u9694\u7b26\u3002\u9ed8\u8ba4\u4e3a\u56de\u8f66\u6362\u884c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>\u8981\u60f3\u4e86\u89e3awk\u7684\u4e00\u4e9b\u5185\u90e8\u53d8\u91cf\u9700\u8981\u5148\u51c6\u5907\u5982\u4e0b\u6570\u636e\u6587\u4ef6\u3002<\/strong>\n&#91;root@test ~]# cat &gt;&gt; awk_file.txt &lt;&lt; EOF\n&gt; ll 1990 50 51 61\n&gt; kk 1991 60 52 62\n&gt; hh 1992 70 53 63\n&gt; jj 1993 80 54 64\n&gt; mm 1994 90 55 65\n&gt; EOF\n&#91;root@test ~]# cat awk_file.txt \nll 1990 50 51 61\nkk 1991 60 52 62\nhh 1992 70 53 63\njj 1993 80 54 64\nmm 1994 90 55 65<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">1. $0\u4fdd\u5b58\u5f53\u524d\u8bb0\u5f55\u7684\u5185\u5bb9<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk '{print $0}' awk_file.txt \nll 1990 50 51 61\nkk 1991 60 52 62\nhh 1992 70 53 63\njj 1993 80 54 64\nmm 1994 90 55 65<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2. FS\u6307\u5b9a\u5b57\u6bb5\u5206\u5272\u7b26\uff0c \u9ed8\u8ba4\u4ee5\u7a7a\u767d\u884c\u4f5c\u4e3a\u5206\u9694\u7b26<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#1.\u8f93\u51fa\u6587\u4ef6\u4e2d\u7684\u7b2c\u4e00\u5217\n&#91;root@test ~]#  awk '{print $1}' awk_file.txt\nll\nkk\nhh\njj\nmm\n#2.\u6307\u5b9a\u591a\u4e2a\u5206\u9694\u7b26\uff0c\u83b7\u53d6\u7b2c\u4e00\u5217\u5185\u5bb9\n#\u4ee5\u5192\u53f7\u6216\u7a7a\u683c\u4e3a\u5206\u9694\u7b26\n&#91;root@test ~]# awk -F '&#91;: ]' '{print $2}' awk_file.txt\n1990\n1991\n1992\n1993\n1994 \n#&#91;: ]+\u8fde\u7eed\u7684\u591a\u4e2a\u5192\u53f7\u5f53\u4e00\u4e2a\u5206\u9694\u7b26\uff0c\u8fde\u7eed\u7684\u591a\u4e2a\u7a7a\u683c\u5f53\u4e00\u4e2a\u5206\u9694\u7b26\uff0c\u8fde\u7eed\u7a7a\u683c\u548c\u5192\u53f7\u4e5f\u5f53\u505a\u4e00\u4e2a\u5b57\u7b26\u6765\u5904\u7406\n&#91;root@test ~]# awk -F '&#91;: ]+' '{print $2}' awk_file.txt\n1990\n1991\n1992\n1993\n1994<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. NF\uff0c\u4fdd\u5b58\u6bcf\u884c\u7684\u6700\u540e\u4e00\u5217<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#1.\u901a\u8fc7print\u6253\u5370\uff0cNF\u548c$NF\uff0c\u4f60\u53d1\u73b0\u4e86\u4ec0\u4e48?\n&#91;root@test ~]# awk '{print NF,$NF}' awk_file.txt\n5 61\n5 62\n5 63\n5 64\n5 65 \n#F: \u5982\u679c\u5c06\u7b2c\u4e94\u884c\u768465\u7f6e\u4e3a\u7a7a\uff0c\u90a3\u4e48\u8be5\u5982\u4f55\u5728\u83b7\u53d6\u6700\u540e\u4e00\u5217\u7684\u6570\u5b57?\n&#91;root@test ~]# awk '{print $5}' awk_file.txt\n61\n62\n63\n64\n    #\u6700\u540e\u4e00\u5217\u4e3a\u7a7a\uff0c\u4e3a\u4ec0\u4e48?  \n#Q.\u4f7f\u7528$NF\u4e3a\u4ec0\u4e48\u5c31\u80fd\u6210\u529f?(\u56e0\u4e3aNF\u53d8\u91cf\u4fdd\u5b58\u7684\u662f\u6bcf\u4e00\u884c\u7684\u6700\u540e\u4e00\u5217)\n&#91;root@test ~]# awk '{print $NF}' awk_file.txt\n61\n62\n63\n64\n65\n#2.\u5982\u679c\u4e00\u4e2a\u6587\u4ef6\u5f88\u957f\uff0c\u9760\u6570\u5217\u6570\u9700\u8981\u5f88\u957f\u7684\u65f6\u95f4\uff0c\u90a3\u5982\u4f55\u5feb\u901f\u6253\u5370\u5012\u6570\u7b2c\u4e8c\u5217?\n&#91;root@test ~]# awk '{print $(NF-1)}' awk_file.txt\n51\n52\n53\n54\n90<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4.awk\u5185\u7f6e\u53d8\u91cfNR\uff0c\u8868\u793a\u8bb0\u5f55\u884c\u53f7\u3002<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#1.\u4f7f\u7528pring\u6253\u5370NR\uff0c\u4f1a\u53d1\u73b0NR\u4f1a\u8bb0\u5f55\u6bcf\u884c\u6587\u4ef6\u7684\u884c\u53f7\n&#91;root@test ~]# awk '{print NR,$0}' awk_file.txt\n1 ll 1990 50 51 61\n2 kk 1991 60 52 62\n3 hh 1992 70 53 63\n4 jj 1993 80 54 64\n5 mm 1994 90 55 65\n#2.\u90a3\u5982\u679c\u6211\u4eec\u60f3\u6253\u5370\u7b2c\u4e8c\u884c\u5230\u7b2c\u4e09\u884c\u7684\u5185\u5bb9\u600e\u4e48\u529e?\n&#91;root@test ~]# awk 'NR&gt;1&amp;&amp;NR&lt;4 {print NR,$0}' awk_file.txt\n2 kk 1991 60 52 62\n3 hh 1992 70 53 63 \n#3.\u90a3\u5982\u679c\u53ea\u60f3\u6253\u5370\u7b2c\u4e09\u884c\uff0c\u8be5\u600e\u4e48\u529e?\n&#91;root@test ~]# awk 'NR==3 {print NR,$00}' awk_file.txt\n3 hh 1992 70 53 63 \n#4.\u90a3\u5982\u679c\u65e2\u60f3\u6253\u5370\u7b2c\u4e09\u884c\uff0c\u53c8\u60f3\u6253\u5370\u7b2c\u4e00\u5217\uff1f\n&#91;root@test ~]# awk 'NR==3 {print NR,$1}' awk_file.txt\n3 hh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5.RS\uff0c\u8bfb\u5165\u884c\u5206\u9694\u7b26\u3002<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# cat &gt;&gt; file.txt &lt;&lt; EOF\n&gt; Linux|Shell|Nginx--docker|Gitlab|jenkins--mysql|redis|mongodb\n&gt; EOF\n&#91;root@test ~]# cat file.txt \nLinux|Shell|Nginx--docker|Gitlab|jenkins--mysql|redis|mongodb\n&#91;root@test ~]# awk 'BEGIN{RS=\"--\"}{print $0}' file.txt\nLinux|Shell|Nginx\ndocker|Gitlab|jenkins\nmysql|redis|mongodb<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u201cOFS\u8f93\u51fa\u5b57\u6bb5\u5206\u9694\u7b26\u201d\uff0c\u521d\u59cb\u60c5\u51b5\u4e0bOFS\u53d8\u91cf\u662f\u7a7a\u683c\u3002<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk 'BEGIN{RS=\"--\";FS=\"|\";OFS=\":\"} {print $1,$3}' file.txt\nLinux:Nginx\ndocker:jenkins\nmysql:mongodb<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">7. \u201cORS\u8f93\u51fa\u884c\u5206\u9694\u7b26\u201d\uff0c\u9ed8\u8ba4\u884c\u5206\u5272\u7b26\u4e3a\\n<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk 'BEGIN{RS=\"--\";FS=\"|\";OFS=\":\";ORS=\"----\"} {print $1,$3}' file.txt\nLinux:Nginx----docker:jenkins----mysql:mongodb<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">4.Awk\u683c\u5f0f\u8f93\u51fa<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>awk\u53ef\u4ee5\u901a\u8fc7printf\u51fd\u6570\u751f\u6210\u975e\u5e38\u6f02\u4eae\u7684\u6570\u636e\u62a5\u8868\u3002<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u683c\u5f0f\u7b26<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>%s<\/td><td>\u6253\u5370\u5b57\u7b26\u4e32<\/td><\/tr><tr><td>%d<\/td><td>\u6253\u5370\u5341\u8fdb\u5236\u6570\uff08\u6574\u6570\uff09<\/td><\/tr><tr><td>%f<\/td><td>\u6253\u5370\u4e00\u4e2a\u6d6e\u70b9\u6570\uff08\u5c0f\u6570\uff09<\/td><\/tr><tr><td>%x<\/td><td>\u6253\u5370\u5341\u516d\u8fdb\u5236\u6570<\/td><\/tr><tr><td>\u4fee\u9970\u7b26<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>-<\/td><td>\u5de6\u5bf9\u9f50<\/td><\/tr><tr><td>+<\/td><td>\u53f3\u5bf9\u9f50<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">1.printf\u9ed8\u8ba4\u6ca1\u6709\u5206\u9694\u7b26\u3002<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk -F \":\" '{printf $1}' \/etc\/passwd\nrootbindaemonadmlpsyncshutdownhaltmailoperatorgamesftpnobodysystemd \n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2.\u52a0\u5165\u6362\u884c\uff0c\u683c\u5f0f\u5316\u8f93\u51fa\u3002<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk 'BEGIN{FS=\":\"}{printf \"%s\\n\",$1}' \/etc\/passwd\nroot\nbin\ndaemon\nadm\nlp\nsync<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3.\u4f7f\u7528\u5360\u4f4d\u7b26\u7f8e\u5316\u8f93\u51fa<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk 'BEGIN{FS=\":\"} {printf \"%20s%20s\\n\",$1,$7}' \/etc\/passwd\n                root           \/bin\/bash\n                 bin       \/sbin\/nologin\n              daemon       \/sbin\/nologin\n                 adm       \/sbin\/nologin\n                  lp       \/sbin\/nologin\n                sync           \/bin\/sync\n            shutdown      \/sbin\/shutdown<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4.\u9ed8\u8ba4\u53f3\u5bf9\u9f50\uff0c- \u8868\u793a\u5de6\u5bf9\u9f50<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]#awk 'BEGIN{FS=\":\"}{printf \"%-20s %-20s\\n\",$1,$7}' \/etc\/passwd\nroot                 \/bin\/bash           \nbin                  \/sbin\/nologin       \ndaemon               \/sbin\/nologin       \nadm                  \/sbin\/nologin       \nlp                   \/sbin\/nologin       \nsync                 \/bin\/sync <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5.\u7f8e\u5316\u4e00\u4e2a\u6210\u7ee9\u8868<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~\/2021-07-02]# cat student.txt \nxu 80 56 46\nwang 49 56 76\nsun 47 76 67\nguo 56 77 78\nliu 65 45 87\nzhang 76 74 87\n#\u6548\u679c\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{printf \"%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\"}{printf \"%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4}' student.txt \nname      yuwen     shuxue    yingyu    \nxu        80        56        46        \nwang      49        56        76        \nsun       47        76        67        \nguo       56        77        78        \nliu       65        45        87        \nzhang     76        74        87\n#####\u5c06\u547d\u4ee4\u5199\u8fdb\u6587\u4ef6\u4f7f\u7528-f\u8c03\u7528\n&#91;root@test ~\/2021-07-02]# cat student.awk \nBEGIN{\n\tprintf \"%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\"\n}\n{\n\tprintf \"%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4\n}\n&#91;root@test ~\/2021-07-02]# awk -f student.awk student.txt \nname      yuwen     shuxue    yingyu    \nxu        80        56        46        \nwang      49        56        76        \nsun       47        76        67        \nguo       56        77        78        \nliu       65        45        87        \nzhang     76        74        87<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">5.Awk\u6a21\u5f0f\u5339\u914d\uff08\u8fc7\u6ee4\uff09<\/h1>\n\n\n\n<pre class=\"wp-block-code\"><code>awk\u7b2c\u4e00\u79cd\u6a21\u5f0f\u5339\u914d\uff1aRegExp\nawk\u7b2c\u4e8c\u79cd\u6a21\u5f0f\u5339\u914d\uff1a\u5173\u7cfb\u8fd0\u7b97\u5339\u914d\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">1.RegExp\u793a\u4f8b<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>1.1\u5339\u914d\/etc\/passwd\u6587\u4ef6\u884c\u4e2d\u542b\u6709root\u5b57\u7b26\u4e32\u7684\u6240\u6709\u884c\u3002\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{FS=\":\"}\/root\/{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash\noperator:x:11:0:operator:\/root:\/sbin\/nologin\ndockerroot:x:997:994:Docker User:\/var\/lib\/docker:\/sbin\/nologin \n1.2.\u5339\u914d\/etc\/passwd\u6587\u4ef6\u884c\u4e2d\u4ee5root\u5f00\u5934\u7684\u884c\u3002\n&#91;root@test ~\/2021-07-02]# awk '\/^root\/{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash \n1.3.\u5339\u914d\/etc\/passwd\u6587\u4ef6\u884c\u4e2d\/bin\/bash\u7ed3\u5c3e\u7684\u884c\u3002\n&#91;root@test ~\/2021-07-02]# awk '\/\\\/bin\\\/bash$\/{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash\nwww:x:1000:1000::\/home\/www:\/bin\/bash<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2.\u8fd0\u7b97\u7b26\u5339\u914d\u793a\u4f8b<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u7b26\u53f7<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>&lt;<\/td><td>\u5c0f\u4e8e<\/td><\/tr><tr><td>&gt;&nbsp;<\/td><td>\u5927\u4e8e<\/td><\/tr><tr><td>&lt;=<\/td><td>\u5c0f\u4e8e\u7b49\u4e8e<\/td><\/tr><tr><td>&gt;=<\/td><td>\u5927\u4e8e\u7b49\u4e8e<\/td><\/tr><tr><td>==<\/td><td>\u7b49\u4e8e<\/td><\/tr><tr><td>!=<\/td><td>\u4e0d\u7b49\u4e8e<\/td><\/tr><tr><td>~<\/td><td>\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f<\/td><\/tr><tr><td>!~<\/td><td>\u4e0d\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>2.1\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914d\/etc\/passwd\u6587\u4ef6\u4e2d\u7b2c3\u4e2a\u5b57\u6bb5\u5c0f\u4e8e50\u7684\u6240\u6709\u884c\u4fe1\u606f\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{FS=\":\"}$3&lt;50{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash\nbin:x:1:1:bin:\/bin:\/sbin\/nologin\ndaemon:x:2:2:daemon:\/sbin:\/sbin\/nologin\nadm:x:3:4:adm:\/var\/adm:\/sbin\/nologin \n2.2\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914d\/etc\/passwd\u6587\u4ef6\u4e2d\u7b2c3\u4e2a\u5b57\u6bb5\u5927\u4e8e50\u7684\u6240\u6709\u884c\u4fe1\u606f\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{FS=\":\"}$3&gt;50{print $0}' passwd\nnobody:x:99:99:Nobody:\/:\/sbin\/nologin\ndbus:x:81:81:System message bus:\/:\/sbin\/nologin \n2.3\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914d\/etc\/passwd\u6587\u4ef6\u4e2d\u7b2c7\u4e2a\u5b57\u6bb5\u4e3a\/bin\/bash\u7684\u6240\u6709\u884c\u4fe1\u606f\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$7==\"\/bin\/bash\"{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash\nwww:x:1000:1000::\/home\/www:\/bin\/bash\n2.4\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914d\/etc\/passwd\u6587\u4ef6\u4e2d\u7b2c7\u4e2a\u5b57\u6bb5\u4e0d\u4e3a\/bin\/bash\u7684\u6240\u6709\u884c\u4fe1\u606f\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$7!=\"\/bin\/bash\"{print $0}' passwd\nbin:x:1:1:bin:\/bin:\/sbin\/nologin\ndaemon:x:2:2:daemon:\/sbin:\/sbin\/nologin\nadm:x:3:4:adm:\/var\/adm:\/sbin\/nologin\nlp:x:4:7:lp:\/var\/spool\/lpd:\/sbin\/nologin \n2.5\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914d\/etc\/passwd\u6587\u4ef6\u4e2d\u7b2c3\u4e2a\u5b57\u6bb5\u5305\u542b3\u4e2a\u6570\u5b57\u4ee5\u4e0a\u7684\u6240\u6709\u884c\u4fe1\u606f\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$3~\/&#91;0-9]{3,}\/{print $0}' passwd\nsystemd-network:x:192:192:systemd Network Management:\/:\/sbin\/nologin\npolkitd:x:999:998:User for polkitd:\/:\/sbin\/nologin\nabrt:x:173:173::\/etc\/abrt:\/sbin\/nologin\nnginx:x:998:996:nginx user:\/var\/cache\/nginx:\/sbin\/nologin\ndockerroot:x:997:994:Docker User:\/var\/lib\/docker:\/sbin\/nologin\nwww:x:1000:1000::\/home\/www:\/bin\/bash<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3.\u5e03\u5c14\u8fd0\u7b97\u7b26\u5339\u914d\u4e0e\u6216\u975e\u793a\u4f8b<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u7b26\u53f7<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>||<\/td><td>\u6216<\/td><\/tr><tr><td>&amp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/td><td>\u4e0e<\/td><\/tr><tr><td>!<\/td><td>\u975e<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>3.1\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914dpasswd\u6587\u4ef6\u4e2d\u5305\u542bftp\u6216mail\u7684\u6240\u6709\u884c\u4fe1\u606f\u3002\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$1==\"ftp\" || $1==\"mail\" {print $0}' passwd\nmail:x:8:12:mail:\/var\/spool\/mail:\/sbin\/nologin\nftp:x:14:50:FTP User:\/var\/ftp:\/sbin\/nologin \n#####\u8fd8\u53ef\u4ee5\u8fd9\u6837\u5199\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$1~\/ftp|mail\/ {print $0}' passwd\nmail:x:8:12:mail:\/var\/spool\/mail:\/sbin\/nologin\nftp:x:14:50:FTP User:\/var\/ftp:\/sbin\/nologin\n3.2\u4ee5:\u4e3a\u5206\u9694\u7b26\uff0c\u5339\u914dpasswd\u6587\u4ef6\u4e2d\u7b2c3\u4e2a\u5b57\u6bb5\u5c0f\u4e8e50\u5e76\u4e14\u7b2c4\u4e2a\u5b57\u6bb5\u5927\u4e8e50\u7684\u6240\u6709\u884c\u4fe1\u606f\u3002\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"}$3&lt;50 &amp;&amp; $4&gt;50{print $0}' passwd\ngames:x:12:100:games:\/usr\/games:\/sbin\/nologin \n3.3\u5339\u914d\u6ca1\u6709\/sbin\/nologin \u7684\u884c\u3002\n&#91;root@test ~]#awk 'BEGIN{FS=\":\"}$0!~\/\\\/sbin\\\/nologin\/{print $0}' passwd\nroot:x:0:0:root:\/root:\/bin\/bash\nsync:x:5:0:sync:\/sbin:\/bin\/sync\nshutdown:x:6:0:shutdown:\/sbin:\/sbin\/shutdown\nhalt:x:7:0:halt:\/sbin:\/sbin\/halt\nwww:x:1000:1000::\/home\/www:\/bin\/bash<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4.\u8fd0\u7b97\u7b26\u5339\u914d\u793a\u4f8b<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u8fd0\u7b97\u7b26<\/td><td>\u542b\u4e49<\/td><\/tr><tr><td>+<\/td><td>\u52a0<\/td><\/tr><tr><td>-<\/td><td>\u51cf<\/td><\/tr><tr><td>*<\/td><td>\u4e58<\/td><\/tr><tr><td>\/<\/td><td>\u9664<\/td><\/tr><tr><td>%<\/td><td>\u6a21<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\u8ba1\u7b97\u5b66\u751f\u8bfe\u7a0b\u5206\u6570\u5e73\u5747\u503c\n\u5b66\u751f\u8bfe\u7a0b\u6587\u4ef6\u5185\u5bb9\u5982\u4e0b\uff1a\n&#91;root@test ~\/2021-07-02]# cat student.txt \nxu 80 56 46\nwang 49 56 76\nsun 47 76 67\nguo 56 77 78\nliu 65 45 87\nzhang 76 74 87 \n#1.\u8f93\u51fa\u5e73\u5747\u503c\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"pingjun\"}{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4,$1+$2+$3+$4}' student.txt \n#2.\u6267\u884c\u89c2\u5bdf\u7ed3\u679c\nname      yuwen     shuxue    yingyu    pingjun   \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237\n<strong>######\u662f\u4e0d\u662f\u770b\u7740\u5f88\u4e71\uff1f\uff1f\uff1f\u6211\u4eec\u5c06\u4ed6\u5199\u8fdb\u6587\u4ef6\u91cc<\/strong>\n&#91;root@test ~\/2021-07-02]# cat student2.awk \nBEGIN{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"pingjun\"\n}\n{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4,$1+$2+$3+$4\n}\n#\u7136\u540e\u6267\u884c\u770b\u770b\u6548\u679c\n&#91;root@test ~\/2021-07-02]# awk -f student2.awk student.txt \nname      yuwen     shuxue    yingyu    pingjun   \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237\n\u7edf\u8ba1\u5404\u5b66\u79d1\u5e73\u5747\u5206\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"total\"}{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4,$2+$3+$4;yuwen=$2+yuwen;shuxue=$3+shuxue;yingyu=$4+yingyu;total=$2+$3+$4+total}END{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"pingjun\",yuwen\/NR,shuxue\/NR,yingyu\/NR,total\/NR}' student.txt \nname      yuwen     shuxue    yingyu    total     \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237       \npingjun   62.1667   64        73.5      199.667\n####\u5199\u5230\u6587\u4ef6\u91cc\n&#91;root@test ~\/2021-07-02]# cat student3.awk \nBEGIN{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\\\n\t\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"total\"\n}\n\n{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\\\n\t$1,$2,$3,$4,$2+$3+$4;\n\tyuwen=$2+yuwen;\n\tshuxue=$3+shuxue;\n\tyingyu=$4+yingyu;\n\ttotal=$2+$3+$4+total\n}\n\nEND{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"pingjun\",yuwen\/NR,shuxue\/NR,yingyu\/NR,total\/NR\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">6.Awk\u6761\u4ef6\u5224\u65ad<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1.if\u8bed\u53e5\u683c\u5f0f:<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>{ if(\u8868\u8fbe\u5f0f)\uff5b\u8bed\u53e5;\u8bed\u53e5;... \uff5d }\n1.\u6253\u5370\u5f53\u524d\u7ba1\u7406\u5458\u7528\u6237\u540d\u79f0\n&#91;root@test ~]# awk -F: '{ if($3==0){print $1,\"is admin\"} }' \/etc\/passwd\nroot is admin \n2.\u7edf\u8ba1\u7cfb\u7edf\u7528\u6237\u6570\u91cf\n&#91;root@test ~]# awk -F: '{ if($3&gt;0 &amp;&amp; $3&lt;1000){i++}} END {print i}' \/etc\/passwd\n24 <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2.if...else \u8bed\u53e5\u683c\u5f0f:<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>{if(\u8868\u8fbe\u5f0f)\uff5b\u8bed\u53e5;\u8bed\u53e5;... \uff5delse{\u8bed\u53e5;\u8bed\u53e5;...}}\n1.\u5224\u65ad\u7b2c\u4e09\u5217\u5982\u679c\u7b49\u4e8e0\uff0c\u5219\u6253\u5370\u8be5\u7528\u6237\u540d\u79f0\uff0c\u5982\u679c\u4e0d\u7b49\u4e8e0\u5219\u6253\u5370\u7b2c\u4e03\u5217\u3002\n&#91;root@test ~]# awk 'BEGIN{FS=\":\"} { if ($3==0) { print $1 } else { print $7 }}' \/etc\/passwd \n2.\u5224\u65ad\u7b2c\u4e09\u5217\u5982\u679c\u7b49\u4e8e0\uff0c\u90a3\u4e48\u5219\u6253\u5370\u7ba1\u7406\u5458\u51fa\u73b0\u7684\u4e2a\u6570\uff0c\u5426\u5219\u90fd\u89c6\u4e3a\u7cfb\u7edf\u7528\u6237\uff0c\u5e76\u6253\u5370\u5b83\u7684\u4e2a\u6570\u3002\n&#91;root@test ~]# awk 'BEGIN{FS=\":\";OFS=\"\\n\"} { if($3==0) { i++ } else { j++ } } END { print i\" \u4e2a\u7ba1\u7406\u5458\" , j\" \u4e2a\u7cfb\u7edf\u7528\u6237\" }' \/etc\/passwd\n1 \u4e2a\u7ba1\u7406\u5458\n26 \u4e2a\u7cfb\u7edf\u7528\u6237<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3.if...else if...else \u8bed\u53e5\u683c\u5f0f:<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>{ if(\u8868\u8fbe\u5f0f 1)\uff5b\u8bed\u53e5;\u8bed\u53e5\uff1b... \uff5delse if(\u8868\u8fbe\u5f0f 2)\uff5b\u8bed\u53e5;\u8bed\u53e5\uff1b. .. \uff5delse\uff5b\u8bed\u53e5;\u8bed\u53e5\uff1b... \uff5d}\n<strong>1.\u4f7f\u7528awk if\u6253\u5370\u51fa\u5f53\u524d\/etc\/passwd\u6587\u4ef6\u7ba1\u7406\u5458\u6709\u591a\u5c11\u4e2a\uff0c\u7cfb\u7edf\u7528\u6237\u6709\u591a\u5c11\u4e2a\uff0c\u666e\u901a\u7528\u6237\u6709\u591a\u5c11\u4e2a<\/strong>\n&#91;root@test ~]# awk -F: '{ if($3==0){i++} else if($3&gt;0 &amp;&amp; $3&lt;1000){j++} else if($3&gt;=1000) {k++}} END {print \"\u7ba1\u7406\u5458\u4e2a\u6570\"i; print \"\u7cfb\u7edf\u7528\u6237\u4e2a\u6570\" j; print \"\u7cfb\u7edf\u7528\u6237\u4e2a\u6570\"k }' \/etc\/passwd\n\u7ba1\u7406\u5458\u4e2a\u65701\n\u7cfb\u7edf\u7528\u6237\u4e2a\u657024\n\u7cfb\u7edf\u7528\u6237\u4e2a\u65702 \n#############\u6216\u8005\u5199\u5728\u6587\u4ef6\u91cc\u6bd4\u8f83\u6e05\u6670\n&#91;root@test ~\/2021-07-02]# cat passwd_conent.awk \n#\u884c\u5904\u7406\u524d\nBEGIN{\n    print \"\u5f00\u59cb\u7edf\u8ba1\";\n\tFS=\":\"\n}\n#\u884c\u5904\u7406\u4e2d\n{\n    if($3==0)\n        { i++ }\n    else if ($3&gt;0 &amp;&amp; $3&lt;1001)\n        { j++ }\n    else\n        { k++ }\n}\n#\u884c\u5904\u7406\u540e\nEND {\n    print i\" \u4e2a\u7ba1\u7406\u5458\";\n    print j\" \u4e2a\u7cfb\u7edf\u7528\u6237\";\n    print k\" \u4e2a\u666e\u901a\u7528\u6237\"\n}\n&#91;root@test ~\/2021-07-02]# awk -f passwd_conent.awk passwd\n\u5f00\u59cb\u7edf\u8ba1\n1 \u4e2a\u7ba1\u7406\u5458\n25 \u4e2a\u7cfb\u7edf\u7528\u6237\n1 \u4e2a\u666e\u901a\u7528\u6237\n<strong>2.\u6253\u5370\/etc\/passwd\u6587\u4ef6\u4e2dUID\u5c0f\u4e8e50\u7684\u3001\u6216\u8005UID\u5c0f\u4e8e50\u5927\u4e8e100\u3001\u6216\u8005UID\u5927\u4e8e100\u7684\u7528\u6237\u540d\u4ee5\u53caUID\u3002<\/strong>\n&#91;root@test ~\/2021-07-02]# cat if.awk \nBEGIN{\n    FS=\":\"\n}\n{\n    if($3&lt;50)\n    {\n        printf \"%-20s%-20s%-10d\\n\",\"UID&lt;50\",$1,$3\n    }\n    else if ($3&gt;50 &amp;&amp; $3&lt;100)\n    {\n        printf \"%-20s%-20s%-10d\\n\",\"50&lt;UID&lt;100\",$1,$3\n    }\n    else \n    {\n        printf \"%-20s%-20s%-10d\\n\",\"UID&gt;100\",$1,$3\n    }\n}\n<strong>3.\u8ba1\u7b97\u4e0b\u5217\u6bcf\u4e2a\u540c\u5b66\u7684\u603b\u5206\uff0c\u5e76\u4e14\u53ea\u6253\u5370\u5e73\u5747\u5206\u6570\u5927\u4e8e200\u7684\u540c\u5b66\u59d3\u540d\u548c\u5206\u6570\u4fe1\u606f<\/strong>\n&#91;root@test ~\/2021-07-02]# cat student.txt \nxu 80 56 46\nwang 49 56 76\nsun 47 76 67\nguo 56 77 78\nliu 65 45 87\nzhang 76 74 87\n&#91;root@test ~\/2021-07-02]# cat student2.awk \nBEGIN{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"total\"\n}\n{\n\tif (($1+$2+$3+$4)&gt;200)\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4,$1+$2+$3+$4\n}\n&#91;root@test ~\/2021-07-02]# awk -f student2.awk student.txt \nname      yuwen     shuxue    yingyu    total     \nguo       56        77        78        211       \nzhang     76        74        87        237\n<strong>4.\u7edf\u8ba1Nginx\u7684\u72b6\u6001\uff0c\u8bf7\u5206\u522b\u6253\u5370\u51fa200\u7c7b\u3001300\u7c7b\u3001400\u7c7b\u3001\u7684\u72b6\u6001\u7801\u51fa\u73b0\u4e86\u591a\u5c11\u6b21\u3002<\/strong>\n&#91;root@test ~\/2021-07-02]# cat access.awk \n{\nif ( $9 ~ \/^2\/ )\n{ i++ }\nelse if ( $9 ~ \/^3\/ )\n{ b++ } \nelse if ( $9 ~ \/^4\/ )\n{ c++ }\n}\nEND{\n print \"200\u7cfb\u5217\" i \n print \"300\u7cfb\u5217\" b\n print \"400\u7cfb\u5217\" c\n}\n&#91;root@test ~\/2021-07-02]# awk -f access.awk access.log \n200\u7cfb\u5217142666\n300\u7cfb\u521719647\n400\u7cfb\u52174623<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">7.Awk\u5faa\u73af\u8bed\u53e5<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1.while\u5faa\u73af\uff1awhile(\u6761\u4ef6\u8868\u8fbe\u5f0f) \u52a8\u4f5c<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~]# awk 'BEGIN{ i=1; while(i&lt;=10){print i; i++} }'\n&#91;root@test ~]# awk -F: '{i=1; while(i&lt;=NF){print $i; i++}}' \/etc\/passwd\n&#91;root@test ~]# awk -F: '{i=1; while(i&lt;=10) {print $0; i++}}' \/etc\/passwd\n&#91;root@test ~]# cat&gt;&gt; b.txt &lt;&lt; EOF\n&gt; 111 222\n&gt; 333 444 555\n&gt; 666 777 888 999\n&gt; EOF\n&#91;root@test ~]# cat b.txt \n111 222\n333 444 555\n666 777 888 999\n&#91;root@test ~]# awk '{i=1; while(i&lt;=NF){print $i; i++}}' b.txt\n111\n222\n333\n444\n555\n666\n777\n888\n999\n<strong>1.While\u5faa\u73af\u6253\u537099\u4e58\u6cd5\u8868<\/strong>\n&#91;root@test ~]# seq 9|awk '{i=NR;while(i&lt;=NR) {for(b=1;b&lt;=i;b++){printf i\"*\"b\"=\"i*b\" \"}{print \"\\n\"};i++}}'\n1*1=1 \n2*1=2 2*2=4 \n3*1=3 3*2=6 3*3=9 \n4*1=4 4*2=8 4*3=12 4*4=16 \n5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 \n6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 \n7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 \n8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 \n9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 \n&#91;root@test ~]# seq 1|awk '{i=1;while(i&lt;=9) {for(b=1;b&lt;=i;b++){printf i\"*\"b\"=\"i*b\" \"}{print \"\\n\"};i++}}'\n1*1=1 \n2*1=2 2*2=4 \n3*1=3 3*2=6 3*3=9 \n4*1=4 4*2=8 4*3=12 4*4=16 \n5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 \n6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 \n7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 \n8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 \n9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81\n<strong>2.While\u5faa\u73af\u7edf\u8ba1\u5404\u5b66\u79d1\u5e73\u5747\u5206<\/strong>\n&#91;root@test ~\/2021-07-02]# cat student.txt \nxu 80 56 46\nwang 49 56 76\nsun 47 76 67\nguo 56 77 78\nliu 65 45 87\nzhang 76 74 87\n#########################\n&#91;root@test ~]# awk 'BEGIN{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"total\"}{i=NR;while(i&lt;=NR){printf \"%-10s%-10s%-10s%-10s%-10s\\n\",$1,$2,$3,$4,$2+$3+$4;yuwen=$2+yuwen;shuxue=$3+shuxue;yingyu=$4+yingyu;total=$2+$3+$4+total;i++}}END{printf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"pingjun\",yuwen\/NR,shuxue\/NR,yingyu\/NR,total\/NR}' student.txt\nname      yuwen     shuxue    yingyu    total     \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237       \npingjun   62.1667   64        73.5      199.667\n#####################\u592a\u4e71\u4e86\u554a\n&#91;root@test ~\/2021-07-02]# awk -f student_xunhuan.awk student.txt \nname      yuwen     shuxue    yingyu    total     \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237       \npingjun   62.1667   64        73.5      199.667\n###########\u4f7f\u7528\u5faa\u73af\u662f\u4e0d\u662f\u591a\u6b64\u4e00\u4e3e\u4e86\uff1f\u76f4\u63a5\u4f7f\u7528\u53d8\u91cf\u4e0d\u597d\u5417\n&#91;root@test ~\/2021-07-02]# cat student3.awk \nBEGIN{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\\\n\t\"name\",\"yuwen\",\"shuxue\",\"yingyu\",\"total\"\n}\n\n{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\\\n\t$1,$2,$3,$4,$2+$3+$4;\n\tyuwen=$2+yuwen;\n\tshuxue=$3+shuxue;\n\tyingyu=$4+yingyu;\n\ttotal=$2+$3+$4+total\n}\n\nEND{\n\tprintf \"%-10s%-10s%-10s%-10s%-10s\\n\",\"pingjun\",yuwen\/NR,shuxue\/NR,yingyu\/NR,total\/NR\n}\n&#91;root@test ~\/2021-07-02]# awk -f student3.awk  student.txt \nname      yuwen     shuxue    yingyu    total     \nxu        80        56        46        182       \nwang      49        56        76        181       \nsun       47        76        67        190       \nguo       56        77        78        211       \nliu       65        45        87        197       \nzhang     76        74        87        237       \npingjun   62.1667   64        73.5      199.667<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">2.for\u5faa\u73af\uff1afor(\u521d\u59cb\u5316\u8ba1\u6570\u5668;\u8ba1\u6570\u5668\u6d4b\u8bd5;\u8ba1\u6570\u5668\u53d8\u66f4) \u52a8\u4f5c<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#C \u98ce\u683c for\n&#91;root@test ~\/2021-07-02]# awk 'BEGIN{for(i=1;i&lt;=5;i++){print i} }'\n1\n2\n3\n4\n5 \n#\u5c06\u6bcf\u884c\u6253\u5370 10 \u6b21\n&#91;root@test ~]# awk -F: '{ for(i=1;i&lt;=10;i++) {print $0} }' passwd\n\u9700\u6c42\uff1a\u8ba1\u7b971+2+3+4+...+100\u7684\u548c\uff0c\u8bf7\u4f7f\u7528while\u3001for\u4e24\u79cd\u5faa\u73af\u65b9\u5f0f\u5b9e\u73b0\n# while\u5faa\u73af\n&#91;root@test ~\/2021-07-02]# cat while_add.awk \nBEGIN{\n    while(i&lt;=100)\n    {# \u4e00\u4e2a\u53d8\u91cf\u4e0d\u8d4b\u503c\uff0c\u9ed8\u8ba4\u4e3a0\u6216\u8005\u7a7a\n        sum+=i\n        i++\n    }    \n\tprint sum\n}\n&#91;root@test ~\/2021-07-02]# awk -f while_add.awk\n5050\n# for\u5faa\u73af \n&#91;root@test ~\/2021-07-02]# cat for_add.awk \nBEGIN{\n    for(i=0;i&lt;=100;i++) \n    {\n        sum+=i\n    }\n        print sum\n}\n&#91;root@test ~\/2021-07-02]# awk -f for_add.awk\n5050<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">8.awk\u6587\u672c\u66ff\u6362gsub<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;root@test ~\/2021-07-02]# cat reg.txt \nsun zhang liu wang\nsun liu zhang wang\nsun zhang wang liu zhang\nsun liu wang zhang\nsun wang liu zhang\nsun wang zhang liu\nzhang sun wang liu\nzhang sun liu wang\nzhang wang sun liu\nzhang wang liu sun\nzhang liu sun wang\nzhang liu wang sun\n#####\u53ea\u5339\u914dzhang\u663e\u793a\u7684\u7ed3\u679c\n&#91;root@test ~\/2021-07-02]# awk '\/zhang\/{gsub(\/zhang\/,\"$\");print $0}' reg.txt\nsun $ liu wang\nsun liu $ wang\nsun $ wang liu $\nsun liu wang $\nsun wang liu $\nsun wang $ liu\n$ sun wang liu\n$ sun liu wang\n$ wang sun liu\n$ wang liu sun\n$ liu sun wang\n$ liu wang sun\n####$2\u5339\u914d\u5f20\u663e\u793a\u7684\u7ed3\u679c\n&#91;root@test ~\/2021-07-02]# awk '$2~\/zhang\/{gsub(\/zhang\/,\"$\");print $0}' reg.txt\nsun $ liu wang\nsun $ wang liu $\n####$2\u5339\u914dzhang\uff0c\u5e76\u4e14\u53ea\u66ff\u6362\u7b2c\u4e8c\u5217\u7684\u5185\u5bb9\n&#91;root@test ~]#awk '$2~\/zhang\/{gsub(\/zhang\/,\"$\",$2);print $0}' reg.txt\nsun $ liu wang\nsun $ wang liu zhang<\/code><\/pre>\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\/280"}],"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=280"}],"version-history":[{"count":2,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/280\/revisions"}],"predecessor-version":[{"id":282,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=\/wp\/v2\/posts\/280\/revisions\/282"}],"wp:attachment":[{"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.buyao007.icu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}