{"id":104,"date":"2009-07-30T21:12:15","date_gmt":"2009-07-30T21:12:15","guid":{"rendered":"http:\/\/kumouse.aafox.com\/?p=104"},"modified":"2009-07-30T21:12:15","modified_gmt":"2009-07-30T21:12:15","slug":"gawk-%e6%a8%a1%e5%bc%8f%e5%a4%84%e7%90%86%e8%af%ad%e8%a8%80-%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0","status":"publish","type":"post","link":"https:\/\/www.kumouse.com\/?p=104","title":{"rendered":"gawk \u6a21\u5f0f\u5904\u7406\u8bed\u8a00 \u5b66\u4e60\u7b14\u8bb0"},"content":{"rendered":"<p>gawk \u6a21\u5f0f\u5904\u7406\u8bed\u8a00<br \/>\u7279\u6027:<br \/>&nbsp;&nbsp;1 \u7075\u6d3b\u7684\u683c\u5f0f&nbsp;&nbsp;2 \u6761\u4ef6\u6267\u884c&nbsp;&nbsp;3 \u5071\u73af\u8bed\u53e5&nbsp;&nbsp;4 \u6570\u503c\u53d8\u91cf<br \/>&nbsp;&nbsp;5 \u5b57\u7b26\u4e32\u53d8\u91cf&nbsp;&nbsp;6\u6b63\u5219\u8868\u8868\u5f0f&nbsp;&nbsp;7\u5173\u7cfb\u8868\u8fbe\u5f0f&nbsp;&nbsp;8 c\u8bed\u8a00printf<br \/>&nbsp;&nbsp;9 \u534f\u8fdb\u7a0b&nbsp;&nbsp;&nbsp;&nbsp;10 \u7f51\u7edc\u6570\u636e\u4ea4\u6362<\/p>\n<p>1.1 \u8bed\u6cd5<br \/>&nbsp;&nbsp;gawk [options][program][file-list]<br \/>&nbsp;&nbsp;gawk [options] -f program-file [file-list]<br \/>&nbsp;&nbsp;gawk\u53ef\u4ee5\u4ece\u6307\u5b9a\u6587\u4ef6\u4e2d\u6216\u6807\u51c6\u8f93\u5165\u83b7\u53d6\u8f93\u5165<br \/>&nbsp;&nbsp;\u4f7f\u7528getline\u53ef\u4ee5\u5bf9\u8f93\u5165\u6709\u66f4\u591a\u9009\u62e9<br \/>&nbsp;&nbsp;\u534f\u8fdb\u7a0b(coprocess)\u53ef\u4ee5\u4f7fgawk\u4e0e\u53e6\u4e00\u4e2a\u7a0b\u5e8f\u8fdb\u884c\u4ea4\u4e92\u6216\u901a\u8fc7\u7f51\u7edc\u4ea4\u6362\u6570\u636e<\/p>\n<p>1.2 \u53c2\u6570<br \/>&nbsp;&nbsp;\u53c2\u6570\u4e2d\u7684program\u662f\u7528\u6237\u5728\u547d\u4ee4\u884c\u4e2d\u6240\u5305\u542b\u6709gawk\u7684\u7a0b\u5e8f<br \/>&nbsp;&nbsp;program-file\u662f\u5b58\u653egawk\u7a0b\u5e8f\u7684\u6587\u4ef6<br \/>&nbsp;&nbsp;\u5728\u547d\u4ee4\u884c\u4e0a\u4f7f\u7528gawk\u8981\u52a0\u5355\u5f15\u53f7<br \/>&nbsp;&nbsp;file-list\u662f\u8f93\u5165\u6587\u4ef6\u5982\u4e0d\u6307\u5b9a\uff0c\u5219\u7531\u6807\u51c6\u8f93\u5165\uff0cgetline\u6216\u534f\u8fdb\u7a0b\u83b7\u53d6<\/p>\n<p>1.3 \u9009\u9879<br \/>&nbsp;&nbsp;&#8211;field-seperator fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-F fs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5c06fs\u4f5c\u4e3a\u8f93\u5165\u5b57\u6bb5\u5206\u9694\u7b26\u7684\u503c<br \/>&nbsp;&nbsp;&#8211;file program-file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-f program-file&nbsp;&nbsp;&nbsp;&nbsp;\u5b58\u653egawk\u7a0b\u5e8f<br \/>&nbsp;&nbsp;&#8211;help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-W help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u603b\u7ed3\u5982\u4f55\u4f7f\u7528gawk<br \/>&nbsp;&nbsp;&#8211;lint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-W lint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5bf9\u4e0d\u6b63\u786e\u6216\u4e0d\u5229\u4e8e\u79fb\u690d\u7684\u7ed3\u6784\u53d1\u51fa\u8b66\u544a<br \/>&nbsp;&nbsp;&#8211;posix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-W posix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8fd0\u884cPOSIX\u517c\u5bb9\u7248\u7684gawk<br \/>&nbsp;&nbsp;&#8211;traditional&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-W traditional&nbsp;&nbsp;&nbsp;&nbsp;\u5ffd\u7565gawk\u4e2d\u7684\u65b0\u7279\u6027\u4e0eawk\u517c\u5bb9<br \/>&nbsp;&nbsp;&#8211;assign var=value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-v var=value&nbsp;&nbsp;&nbsp;&nbsp;\u7ed9\u53d8\u91cf\u8d4b\u503c<\/p>\n<p>1.4 \u6ce8\u610f<br \/>&nbsp;&nbsp;\u5f88\u591alinux\u5c06\/bin\/awk\u94fe\u63a5\u5230\u4e86\/bin\/gawk\u4e0a<\/p>\n<p>1.5 \u8bed\u8a00\u57fa\u7840<br \/>&nbsp;&nbsp;gawk \u7a0b\u5e8f\u7531\u4e00\u884c\u6216\u591a\u884c\u6587\u672c\u6784\u6210\uff0c\u5176\u4e2d\u5305\u542b\u4e00\u4e2a\u6a21\u5f0f\u548c\u52a8\u4f5c<br \/>&nbsp;&nbsp;pattern {action}<br \/>&nbsp;&nbsp;\u6a21\u5f0f(pattern)\u7528\u6765\u4ece\u8f93\u5165\u4e2d\u9009\u53d6\u6587\u672c\u884c\uff0c\u5bf9\u4e8e\u6a21\u5f0f\u9009\u4e2d\u7684\u6bcf\u884c\u6587\u672c\uff0c\u90fd\u6267\u884c\u76f8\u5e94\u7684\u5bf9\u4f5c<br \/>&nbsp;&nbsp;\u5982\u7a0b\u5e8f\u4e2d\u4e0d\u5305\u542b\u6a21\u5f0f\uff0cgawk\u5c06\u9009\u53d6\u6240\u6709\u884c\uff0c\u5982\u679c\u4e0d\u5305\u542b\u52a8\u4f5cgawk\u5c06\u628a\u9009\u4e2d\u7684\u884c\u590d\u5236\u5230\u6807\u51c6\u8f93\u51fa <\/p>\n<p>&nbsp;&nbsp;1.5.1 \u6a21\u5f0f<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u7528\u659c\u6760\u628a\u6b63\u5219\u8868\u8fbe\u5f0f\u5305\u88c5\u8d77\u6765\uff0c\u5c31\u53ef\u4ee5\u4f5c\u4e3a\u6a21\u5f0f\u4f7f\u7528<br \/>&nbsp;&nbsp;&nbsp;&nbsp;~\u64cd\u4f5c\u7b26\u6d4b\u8bd5\u662f\u5426\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f !~\u6d4b\u8bd5\u4e0d\u5339\u914d<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u7528||\u6216 &#038;&#038;\u6765\u7ec4\u5408\u4efb\u4f55\u6a21\u5f0f<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u5173\u7cfb\u64cd\u4f5c\u7b26\u5305\u62ec\uff1a&lt;\uff0c&gt;\uff0c&lt;=\uff0c&gt;=\uff0c=\uff0c!=<br \/>&nbsp;&nbsp;&nbsp;&nbsp;BEGIN\u4e0eEND\u662f\u4e24\u4e2a\u72ec\u7279\u7684\u6a21\u5f0f\u5206\u522b\u662f\u5728gawk\u5f00\u59cb\u5904\u7406\u4e4b\u524d\u4e0e\u5904\u7406\u4e4b\u5b8c\u6bd5\u4e4b\u540e\u7684\u547d\u4ee4<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\uff0c\u9017\u53f7\uff0c\u7528\u9017\u53f7\u9694\u5f00\u7684\u4e24\u4e2a\u6a21\u5f0f\u5c06\u9009\u53d6\u5339\u914d\u7b2c\u4e00\u4e2a\u6a21\u5f0f\u884c\u5230\u5339\u914d\u7b2c\u4e8c\u4e2a\u6a21\u5f0f\u7684\u4e0b\u4e00\u884c<\/p>\n<p>&nbsp;&nbsp;1.5.2 \u52a8\u4f5c<br \/>&nbsp;&nbsp;&nbsp;&nbsp;gawk\u5982\u679c\u5339\u914d\u67d0\u4e2a\u6a21\u5f0f\uff0c\u5b83\u5c06\u6267\u884c\u6307\u5b9a\u52a8\u4f5c\uff0c\u5982\u679c\u6ca1\u6709\u6307\u5b9a\u52a8\u4f5c\uff0c\u90a3\u5c06\u6267\u884c\u9ed8\u8ba4(\u53ef\u7528{print}\u8868\u793a)\u5982\u5728print\u540e\u5e26\u4e0a\u53c2\u6570\uff0cgawk\u5c06\u53ea\u663e\u793a\u6307\u5b9a\u53c2\u6570\u3002\u53ef\u5c06print\u8f93\u51fa\u53d1\u9001\u5230\u6587\u4ef6&gt;\u8ffd\u52a0&gt;&gt;\u6216\u8005\u901a\u8fc7\u7ba1\u9053\u53d1\u7eb7\u5448\u53e6\u4e00\u4e2a\u7a0b\u5e8f|<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u534f\u8fdb\u7a0b|&#038; \u662f\u4e00\u4e2a\u53cc\u5411\u7684\u7ba1\u9053\uff0c\u53ef\u4ee5\u4e0e\u8fd0\u884c\u5728\u540e\u53f0\u7684\u7a0b\u5e8f\u4ea4\u6362\u6570\u636e<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u9017\u53f7\u7528\u4e8eprint\u547d\u4ee4\u4e2d\u628a\u5404\u9879\u533a\u5206\u5f00<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u901a\u8fc7\u5206\u53f7\u53ef\u5c06\u591a\u4e2a\u52a8\u4f5c\u9694\u5f00\uff0c\u53ef\u4ee5\u5728\u4e00\u884c\u4e0a\u5305\u542b\u591a\u4e2a\u52a8\u4f5c\u3002<\/p>\n<p>&nbsp;&nbsp;1.5.3 \u6ce8\u91ca<br \/>&nbsp;&nbsp;&nbsp;&nbsp;#\u662fgawk\u7684\u6ce8\u91ca\u7b26\u53f7<\/p>\n<p>&nbsp;&nbsp;1.5.4 \u53d8\u91cf<br \/>&nbsp;&nbsp;&nbsp;&nbsp;gawk\u7684\u6a21\u5f0f\u90e8\u5206\u4e0e\u52a8\u4f5c\u90e8\u5206\u4e2d\u5747\u53ef\u4ee5\u4f7f\u7528\u7528\u6237\u53d8\u91cf\u4e0e\u7a0b\u5e8f\u53d8\u91cf<br \/>&nbsp;&nbsp;&nbsp;&nbsp;$0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5f53\u524d\u8bb0\u5f55<br \/>&nbsp;&nbsp;&nbsp;&nbsp;$1-$n&nbsp;&nbsp;&nbsp;&nbsp;\u5f53\u524d\u8bb0\u5f55\u4e2d\u7684\u5b57\u6bb5<br \/>&nbsp;&nbsp;&nbsp;&nbsp;FILENAME&nbsp;&nbsp;\u5f53\u524d\u8f93\u5165\u6587\u4ef6\u540d<br \/>&nbsp;&nbsp;&nbsp;&nbsp;FS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8f93\u5165\u5b57\u6bb5\u7684\u5206\u9694\u7b26<br \/>&nbsp;&nbsp;&nbsp;&nbsp;NF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5f53\u524d\u8bb0\u5f55\u7684\u5b57\u6bb5\u6570\u76ee<br \/>&nbsp;&nbsp;&nbsp;&nbsp;NR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5f53\u524d\u8bb0\u5f55\u7684\u7f16\u53f7<br \/>&nbsp;&nbsp;&nbsp;&nbsp;OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8f93\u51fa\u5b57\u6bb5\u5206\u9694\u7b26<br \/>&nbsp;&nbsp;&nbsp;&nbsp;ORS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8f93\u51fa\u8bb0\u5f55\u5206\u9694\u7b26<br \/>&nbsp;&nbsp;&nbsp;&nbsp;RS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8f93\u5165\u8bb0\u5f55\u5206\u9694\u7b26<\/p>\n<p>&nbsp;&nbsp;1.5.5 \u51fd\u6570<br \/>&nbsp;&nbsp;&nbsp;&nbsp;length(str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56destr\u4e2d\u7684\u5b57\u7b26\u6570\uff0c\u5982\u6ca1\u53c2\u6570\uff0c\u8fd4\u56de\u5f53\u524d\u8bb0\u5f55\u5b57\u7b26\u6570<br \/>&nbsp;&nbsp;&nbsp;&nbsp;int(num)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56de num\u7684\u6574\u6570\u90e8\u5206<br \/>&nbsp;&nbsp;&nbsp;&nbsp;index(str1,str2)&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56destr2\u5728str1\u4e2d\u51fa\u73b0\u7684\u4f4d\u7f6e\uff0c\u5982\u4e0d\u5b58\u5728\u8fd4\u56de 0<br \/>&nbsp;&nbsp;&nbsp;&nbsp;split(str,arr,del)&nbsp;&nbsp;&nbsp;&nbsp;\u4ee5del\u505a\u5206\u9694\u7b26,\u5c06str\u4e2d\u7684\u5143\u7d20\u653e\u5230\u6570\u7ec4 arr\u4e2d,\u8fd4\u56de\u4e2a\u6570<br \/>&nbsp;&nbsp;&nbsp;&nbsp;sprintf(fmt,args)&nbsp;&nbsp;&nbsp;&nbsp;\u6839\u636efmt\u683c\u5f0f\u5316args\u5e76\u8fd4\u56de\u683c\u5f0f\u5316\u540e\u7684\u5b57\u7b26\u4e32<br \/>&nbsp;&nbsp;&nbsp;&nbsp;substr(str,pos,len)&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56destr \u4e2d\u4ecepos\u5f00\u59cb\u957f\u5ea6\u4e3alen\u4e2a\u5b57\u7b26\u7684\u5b57\u7b26\u4e32<br \/>&nbsp;&nbsp;&nbsp;&nbsp;tolower(str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56destr\u526f\u672c\uff0c\u5e76\u8f6c\u6210\u5c0f\u5199\u5b57\u6bcd<br \/>&nbsp;&nbsp;&nbsp;&nbsp;toupper(str)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8fd4\u56destr\u526f\u672c\uff0c\u5e76\u8f6c\u6210\u5927\u5199\u5b57\u6bcd<\/p>\n<p>&nbsp;&nbsp;1.5.6 \u7b97\u672f\u64cd\u4f5c\u7b26<br \/>&nbsp;&nbsp;&nbsp;&nbsp;*\uff0c\/\uff0c%\uff0c+\uff0c-\uff0c=\uff0c++\uff0c&#8211;\uff0c+=\uff0c-=\uff0c*=\uff0c\/=\uff0c%=<\/p>\n<p>&nbsp;&nbsp;1.5.7 \u5173\u8054\u6570\u7ec4<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1aarray[string]=value<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u53ef\u4ee5\u5c06\u7279\u6b8a\u7684for\u7ed3\u6784\u7528\u4e8e\u5173\u8054\u6570\u7ec4<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\u5982\u4e0b\uff1a<br \/>&nbsp;&nbsp;&nbsp;&nbsp;for (elem in array) action<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u5728for \u904d\u5386\u6570\u7ec4\u5143\u7d20\u65f6\uff0celem\u8868\u793a\u6570\u7ec4\u4e2d\u6bcf\u4e2a\u5143\u7d20\u7684\u503c\uff0carray\u4e3a\u6570\u7ec4\u540d\u79f0action\u4e3agawk\u5bf9\u6570\u7ec4\u4e2d\u6bcf\u4e2a\u5143\u7d20\u6240\u91c7\u53d6\u7684\u52a8\u4f5c\uff0c\u53ef\u4ee5\u5728action\u4e2d\u4f7f\u7528elem\u53d8\u91cf\u3002\u8be6\u7ec6\u89c11.6\u8282<\/p>\n<p>&nbsp;&nbsp;1.5.8 printf<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u53ef\u4ee5\u4f7f\u7528printf\u6765\u4ee3\u66ffprint\u63a7\u5236gawk\u7684\u8f93\u51fa\uff0cgawk\u7248\u7684printf\u7c7b\u4f3c\u4e8e C<br \/>&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1aprintf  &quot;control-string&quot;,arg1,arg2,\u2026,argn<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control-string\u51b3\u5b9a\u4e86printf\u5982\u4f55\u683c\u5f0f\u5316arg<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u53ef\u4ee5\u5728contral-string\u4e2d\u4f7f\u7528\/n\u6765\u8868\u793a\u6362\u884c\u7b26,\/t\u8868\u793aTAB<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;control-string\u5305\u542b\u4e86\u8f6c\u6362\u89c4\u683c\uff0c\u6bcf\u4e2a\u53c2\u6570\u5bf9\u5e94\u4e00\u4e2a\u8f6c\u6362\u89c4\u683c\u8bed\u6cd5<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%[-][x[.y]]conv<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5176\u4e2d-\u4f7fprintf\u5c06\u53c2\u6570\u5de6\u5bf9\u9f50\uff0cx\u8868\u793a\u6700\u5c0f\u5b57\u6bb5\u5bbd\u5ea6<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.y\u8868\u793a\u6570\u5b57\u4e2d\u5c0f\u6570\u70b9\u53f3\u8fb9\u7684\u4f4d\u6570\uff0cconv\u8868\u793a\u6570\u503c\u8f6c\u6362\u7684\u7c7b\u578b<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8f6c\u6362\u7c7b\u578b<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5341\u8fdb\u5236<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u6307\u6570\u8868\u793a<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u6d6e\u70b9\u6570\u5b57<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f7f\u7528f\u6216e\u4e2d\u8f83\u77ed\u7684\u90a3\u4e2a<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u65e0\u7b26\u53f7\u516b\u8fdb\u5236<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5b57\u7b26\u4e32<br \/>&nbsp;&nbsp;&nbsp;&#038;nb<\/p>\n<p>sp;&nbsp;&nbsp;x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u65e0\u7b26\u53f7\u5341\u516d\u8fdb\u5236<\/p>\n<p>&nbsp;&nbsp;1.5.9 \u63a7\u5236\u7ed3\u6784<br \/>&nbsp;&nbsp;&nbsp;&nbsp;1 if&#8230;else<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1a(else\u53ef\u9009)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (condition)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{commands}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[else<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{commands}]<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f8b1\uff1aif  ($5&lt;=5000) print $0<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f8b2\uff1acat ifl<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nam=&quot;sam&quot;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (nam==&quot;max&quot;)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;name is max&quot;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print &quot;name is not max,it is&quot;,nam<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gawk -f ifl<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;2 while<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1awhile (condition)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{commands}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f8b\uff1acat wh<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n=1<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (n&lt;=5)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print n&quot;^2&quot;,2**n<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n++<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gawk -f wh<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;3 for<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1afor (init;condition;increment)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{commands}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f8b\uff1acat forl<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEGIN {<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (n=1;n&lt;=5;n++)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print n&quot;^2&quot;,2**n<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gawk -f forl<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5173\u8054\u6570\u7ec4\u7684for\u7ed3\u6784<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u8bed\u6cd5\uff1a<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var in array)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{commands}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u4f8b\uff1aEND {for (name in manf) print name,manf[name]}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5bf9\u4e8e\u5173\u8054\u6570\u7ec4\u7684for \u89c11.6<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;4 break<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u7ed3\u675ffor\u6216 while\u6700\u5185\u5c42\u5faa\u73af<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;5 continue<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\u5c06for \u6216 while\u8f6c\u79fb\u5230\u672b\u5c3e\uff0c\u5e76\u65ad\u7eed\u6267\u884c\u4e0b\u4e00\u6b21\u8fed\u4ee3<\/p>\n<p>1.6 \u793a\u4f8b<br \/>&nbsp;&nbsp;\u5efa\u7acb\u4e00\u4e2a\u793a\u4f8b\u6587\u4ef6 \u6587\u4ef6\u5305\u62ec\u5236\u9020\u5546\uff0c\u578b\u53f7\uff0c\u751f\u4ea7\u5e74\u4ee3\uff0c\u5343\u91cc\u91cc\u7a0b\u6570\u53ca\u4ef7\u683c<br \/>&nbsp;&nbsp;cat cars<br \/>&nbsp;&nbsp;plym&nbsp;&nbsp;fury&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1970&nbsp;&nbsp;73&nbsp;&nbsp;2500<br \/>&nbsp;&nbsp;chevy&nbsp;&nbsp;malibu&nbsp;&nbsp;&nbsp;&nbsp;1990&nbsp;&nbsp;60&nbsp;&nbsp;3000<br \/>&nbsp;&nbsp;ford&nbsp;&nbsp;&nbsp;&nbsp;mustang&nbsp;&nbsp;&nbsp;&nbsp;1965&nbsp;&nbsp;45&nbsp;&nbsp;10000<br \/>&nbsp;&nbsp;volvo&nbsp;&nbsp;s80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1998&nbsp;&nbsp;102&nbsp;&nbsp;9850<br \/>&nbsp;&nbsp;ford&nbsp;&nbsp;&nbsp;&nbsp;thundbd&nbsp;&nbsp;&nbsp;&nbsp;2003&nbsp;&nbsp;15&nbsp;&nbsp;10500<br \/>&nbsp;&nbsp;chevy&nbsp;&nbsp;malibu&nbsp;&nbsp;&nbsp;&nbsp;2000&nbsp;&nbsp;50&nbsp;&nbsp;3500<br \/>&nbsp;&nbsp;bmw&nbsp;&nbsp;325i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1985&nbsp;&nbsp;115&nbsp;&nbsp;450<br \/>&nbsp;&nbsp;honda&nbsp;&nbsp;accord&nbsp;&nbsp;&nbsp;&nbsp;2001&nbsp;&nbsp;30&nbsp;&nbsp;6000<br \/>&nbsp;&nbsp;ford&nbsp;&nbsp;&nbsp;&nbsp;taurus&nbsp;&nbsp;&nbsp;&nbsp;2004&nbsp;&nbsp;10&nbsp;&nbsp;17000<br \/>&nbsp;&nbsp;toyota&nbsp;&nbsp;rav4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2002&nbsp;&nbsp;180&nbsp;&nbsp;750<br \/>&nbsp;&nbsp;chevy&nbsp;&nbsp;impata&nbsp;&nbsp;&nbsp;&nbsp;1985&nbsp;&nbsp;85&nbsp;&nbsp;1550<br \/>&nbsp;&nbsp;ford&nbsp;&nbsp;&nbsp;&nbsp;explor&nbsp;&nbsp;&nbsp;&nbsp;2003&nbsp;&nbsp;25&nbsp;&nbsp;9500<br \/>&nbsp;&nbsp;<\/p>\n<p>\u4f8b1:<br \/>[root@redhat Testsh]# awk &#39;{print}&#39; cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevy   impata  1985    85      1550<br \/>ford    explor  2003    25      9500<br \/>\u8fd9\u662f\u4e00\u4e2a\u7f3a\u5931\u6a21\u5f0f\uff0c\u56e0\u4e3a\u6ca1\u6709\u6a21\u5f0f\uff0cgawk\u628a\u8f93\u5165\u4e2d\u6240\u6709\u884c\u590d\u5236\u5230\u4e86\u8f93\u51fa<\/p>\n<p>\u4f8b2:<br \/>[root@redhat Testsh]# awk &#39;\/chevy\/&#39; cars<br \/>chevy   malibu  1990    60      3000<br \/>chevy   malibu  2000    50      3500<br \/>chevy   impata  1985    85      1550<br \/>\u7f3a\u5931\u6a21\u5f0f\uff0c\u53ea\u6709\u4e00\u4e2a\u6a21\u5f0f\uff0c\u4f46\u6ca1\u6709\u660e\u786e\u52a8\u4f5c\u3002\u659c\u6760\u6307\u51fachevy\u662f\u4e00\u4e2a\u6b63\u5219\u8868\u8fbe\u5f0f\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e2d\u5c06\u6267\u884c\u9ed8\u8ba4\u52a8\u4f5cprint.\u5c06\u8f93\u5165\u4e2d\u5305\u542bchevy\u7684\u6587\u672c\u884c\u590d\u5236\u5230\u8f93\u51fa<br \/>\u6ce8\u610f\uff1a\u5355\u5f15\u53f7\u53ef\u4ee5\u963b\u6b62\u67d0\u6b64\u95ee\u9898\u7684\u53d1\u751f(\u6bd4\u5982\u547d\u4ee4\u884c\u7531bash\u6269\u5c55\u4e86\uff0c\u5bfc\u5236\u4f20\u9012\u7ed9awk\u7684\u53c2\u6570\u51fa\u9519)<\/p>\n<p>\u4f8b3:<br \/>[root@redhat Testsh]# awk &#39;{print $3,$1}&#39; cars<br \/>1970 plym<br \/>1990 chevy<br \/>1965 ford<br \/>1998 volvo<br \/>2003 ford<br \/>2000 chevy<br \/>1985 bmw<br \/>2001 honda<br \/>2004 ford<br \/>2002 toyota<br \/>1985 chevy<br \/>2003 ford<br \/>\u663e\u793a\u7b2c\u4e09\u4e2a\u5b57\u6bb5\u4e0e\u7b2c\u4e00\u4e2a\u5b57\u6bb5 <\/p>\n<p>\u4f8b4:<br \/>[root@redhat Testsh]# gawk &#39;\/chevy\/ {print $3,$1}&#39; cars<br \/>1990 chevy<br \/>2000 chevy<br \/>1985 chevy<br \/>\u663e\u793a\u5305\u542bchevy\u884c\u7684\u7b2c\u4e09\u4e2a\u5b57\u6bb5\u4e0e\u7b2c\u4e00\u4e2a\u5b57\u6bb5<\/p>\n<p>\u4f8b5:<br \/>[root@redhat Testsh]# awk &#39;\/h\/&#39; cars<br \/>chevy   malibu  1990    60      3000<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>honda   accord  2001    30      6000<br \/>chevy   impata  1985    85      1550<br \/>\u663e\u793a\u5305\u542b\u5b57\u6bcdh\u7684\u884c<\/p>\n<p>\u4f8b6:<br \/>[root@redhat Testsh]# gawk &#39;$1~\/h\/&#39; cars<br \/>chevy   malibu  1990    60      3000<br \/>chevy   malibu  2000    50      3500<br \/>honda   accord  2001    30      6000<br \/>chevy   impata  1985    85      1550<br \/>\u663e\u793a\u7b2c\u4e00\u4e2a\u5b57\u6bb5\u5305\u542bh\u7684\u884c<\/p>\n<p>\u4f8b7:<br \/>[root@redhat Testsh]# gawk &#39;$1~\/^h\/&#39; cars<br \/>honda   accord  2001    30      6000<br \/>\u663e\u793a\u7b2c\u4e00\u4e2a\u5b57\u6bb5\u7b2c\u4e00\u4e2a\u5b57\u6bcd\u662fh\u7684\u884c<\/p>\n<p>\u4f8b8:<br \/>[root@redhat Testsh]# gawk &#39;$2~\/^[tm]\/ {print $3,$2,&quot;$&quot;$5}&#39; cars<br \/>1990 malibu $3000<br \/>1965 mustang $10000<br \/>2003 thundbd $10500<br \/>2000 malibu $3500<br \/>2004 taurus $17000<br \/>\u9009\u4e2d\u7b2c2\u4e2a\u5b57\u6bb5\u4ee5t\u6216m\u5f00\u5934\u7684\u884c\uff0c\u5e76\u663e\u793a\u7b2c3\u4e2a\u5b57\u6bb5\u548c\u7b2c2\u4e2a\u5b57\u6bb5\uff0c 1\u4e2a\u7f8e\u5143\u7b26\u53f7\u4ee5\u53ca\u7b2c5\u4e2a\u5b57\u6bb5<\/p>\n<p>\u4f8b9:<br \/>[root@redhat Testsh]# gawk &#39;$3~\/5$\/ {print $3,$1,&quot;$&quot;$5}&#39; cars<br \/>1965 ford $10000<br\n\n \/>1985 bmw $450<br \/>1985 chevy $1550<br \/>$\u4f7f\u7528\u7684\u4e09\u4e2a\u4f5c\u7528\uff0c5$\u662f\u5bf9\u884c\u5c3e\u6216\u5b57\u6bb5\u5c3e\u8fdb\u884c\u5339\u914d\uff0c$\u52a0\u6570\u5b57\u7684\u65b9\u5f0f\u8868\u793a\u67d0\u5b57\u6bb5\uff0c&quot;$&quot;\u4ee3\u8868\u5b83\u81ea\u5df1<\/p>\n<p>\u4f8b10:<br \/>[root@redhat Testsh]# gawk &#39;$3==1985&#39; cars<br \/>bmw     325i    1985    115     450<br \/>chevy   impata  1985    85      1550<br \/>\u663e\u793a\u7b2c\u4e09\u4e2a\u5b57\u6bb5\u4e3a1985\u7684\u884c<\/p>\n<p>\u4f8b11:<br \/>[root@redhat Testsh]# awk &#39;$5&lt;=3000&#39; cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>bmw     325i    1985    115     450<br \/>toyota  rav4    2002    180     750<br \/>chevy   impata  1985    85      1550<br \/>\u5217\u51fa\u5b57\u6bb55\u5c0f\u4e8e\u7b49\u4e8e3000\u7684\u884c<\/p>\n<p>\u4f8b12:<br \/>[root@redhat Testsh]# awk &#39;$5&gt;2000 &#038;&#038; $5&lt;9000&#39; cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>chevy   malibu  2000    50      3500<br \/>honda   accord  2001    30      6000<br \/>\u5217\u51fa$5\u6570\u503c\u662f2000\u4e0e9000\u4e4b\u95f4\u7684\u884c<\/p>\n<p>[root@redhat Testsh]# awk &#39;$5&gt;&quot;2000&quot; &#038;&#038; $5&lt;&quot;9000&quot;&#39; cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>toyota  rav4    2002    180     750<br \/>\u5217\u51fa$5\u6570\u503c\u662f2000\u4e0e9000\u4e4b\u95f4\u7684\u884c\uff0c\u4f46\u7531\u4e8e2000\u4e0e9000\u52a0\u4e86\u53cc\u5f15\u53f7\uff0c\u5373\u8fdb\u884c\u6b63\u6587\u6bd4\u8f83(\u4f7f\u7528ASCII\u6bd4\u8f83)<\/p>\n<p>\u4f8b13:<br \/>[root@redhat Testsh]# awk &#39;\/volvo\/,\/bmw\/&#39; cars<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>\u9009\u4e2d\u7531\u9017\u53f7\u4e4b\u524d\u7684\u6a21\u5f0f\u6307\u5b9a\u7684\u884c\u81f4\u9017\u53f7\u4e4b\u540e\u6a21\u5f0f\u5339\u914d\u7684\u884c\uff0c\u5982\u679c\u6ca1\u6709\u5339\u914d\u9017\u53f7\u4e4b\u540e\u7684\u6587\u672c\u884c\uff0c\u5219\u4f1a\u5c06\u9009\u53d6\u5230\u8f93\u5165\u672b\u5c3e<\/p>\n<p>[root@redhat Testsh]# cat cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevy   impata  1985    85      1550<br \/>ford    explor  2003    25      9500<\/p>\n<p>[root@redhat Testsh]# awk &#39;\/chevy\/,\/ford\/&#39; cars<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>chevy   impata  1985    85      1550<br \/>ford    explor  2003    25      9500<br \/>\u4e0a\u8fb9\u4f8b\u5b50\u5728\u627e\u5230\u7b2c\u4e00\u7ec4\u6587\u672c\u884c\u4e4b\u540e\uff0c\u5b83\u5c06\u518d\u6b21\u8fdb\u884c\u5904\u7406\uff0c\u67e5\u627e\u5339\u914d\u9017\u53f7\u5f02\u519b\u7a81\u8d77\u524d\u7684\u6587\u672c\u884c\u3002awk\u67e5\u627e\u843d\u5165chevy\u548cford\u4e4b\u95f4\u7684\u6240\u6709\u7684\u4e09\u7ec4\u6587\u672c\u884c\u3002\u5c3d\u7ba1\u8f93\u5165\u7684\u6bcf5\u884c\u5305\u542bford\uff0c\u4f46gawk\u5e76\u6ca1\u6709\u9009\u62e9\u5b83\uff0c\u56e0\u4e3a\u6b64\u65f6\u5b83\u6b63\u5728\u5904\u7406\u7b2c5\u884c\uff0c\u6b63\u5728\u641c\u7d22chevy<\/p>\n<p>\u4f8b14:<br \/>[root@redhat Testsh]# cat awk_t<br \/>BEGIN {print &quot;make      model   year    miles   pricen&quot;}<br \/>{print}<\/p>\n<p>[root@redhat Testsh]# awk -f awk_t cars<br \/>make    model   year    miles   price<\/p>\n<p>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevy   impata  1985    85      1550<br \/>ford    explor  2003    25      9500<br \/>\u4e00\u4e2a\u7b80\u5355\u7684\u7528-f \u53c2\u6570\u6307\u5b9a awk\u7a0b\u5e8f\u6587\u4ef6\u7684\u4f8b\u5b50<\/p>\n<p>\u4f8b15: (length\u7684\u4f7f\u7528)<br \/>[root@redhat Testsh]# awk &#39;{print length&quot;t&quot;,$0}&#39; cars|sort -n<br \/>21       bmw    325i    1985    115     450<br \/>22       plym   fury    1970    73      2500<br \/>23       volvo  s80     1998    102     9850<br \/>24       ford   explor  2003    25      9500<br \/>24       toyota rav4    2002    180     750<br \/>25       chevy  impata  1985    85      1550<br \/>25       chevy  malibu  1990    60      3000<br \/>25       chevy  malibu  2000    50      3500<br \/>25       ford   taurus  2004    10      17000<br \/>25       honda  accord  2001    30      6000<br \/>26       ford   mustang 1965    45      10000<br \/>26       ford   thundbd 2003    15      10500<br \/>\u6b64\u4f8b\u4f7f\u7528\u4e86length\u51fd\u6570\u6765\u663e\u793a\u6bcf\u884c\u7684\u5b57\u7b26\u4e2a\u6570\uff0ct\u662f\u4e00\u4e2aTAB\uff0c\u7528\u6765\u5bf9\u9f50<br \/>sort -n \u5bf9\u6570\u5b57\u8fdb\u884c\u6392\u5e8f<\/p>\n<p>\u4f8b16:(NR\u7684\u610f\u4e49\uff1a\u884c\u7f16\u53f7)<br \/>[root@redhat Testsh]# awk &#39;length&gt;24 {print NR&quot;t&quot;,$0}&#39; cars<br \/>2        chevy  malibu  1990    60      3000<br \/>3        ford   mustang 1965    45      10000<br \/>5        ford   thundbd 2003    15      10500<br \/>6        chevy  malibu  2000    50      3500<br \/>8        honda  accord  2001    30      6000<br \/>9        ford   taurus  2004    10      17000<br \/>11       chevy  impata  1985    85      1550<br \/>\u663e\u793a\u51fa\u5b57\u7b26\u4e2a\u6570\u5927\u4e8e24\u7684\u884c\uff0c\u5e76\u663e\u793a\u884c\u53f7<\/p>\n<p>\u4f8b17:<br \/>[root@redhat Testsh]# awk &#39;NR==2,NR==4&#39; cars<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>\u663e\u793a\u4ece\u7b2c\u4e8c\u884c\u5230\u7b2c\u56db\u884c<br \/>\u4f8b18: (END\u7684\u4f7f\u7528)<br \/>[root@redhat Testsh]# awk &#39;{print}END{print &quot;&#8212;END&#8212;&quot;}&#39; cars<br \/>plym    fury    1970    73      2500<br \/>chevy   malibu  1990    60      3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevy   malibu  2000    50      3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevy   impata  1985    85      1550<br \/>ford    explor  2003    25      9500<br \/>&#8212;END&#8212;<br \/>\u5728\u5904\u7406\u5b8c\u8f93\u5165\u4e4b\u540e\u624d\u6267\u884cEND\u6307\u5b9a\u7684\u8bed\u53e5<\/p>\n<p>\u4f8b19:<br \/>[root@redhat Testsh]# cat awk_t1<br \/>{<br \/>if ($1~\/ply\/) $1=&quot;plyssj&quot; <br \/>if ($1~\/chev\/) $1=&quot;chevssj&quot;<br \/>print<br \/>}<br \/>[root@redhat Testsh]# awk -f awk_t1 cars<br \/>plyssj fury 1970 73 2500<br \/>chevssj malibu 1990 60 3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevssj malibu 2000 50 3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevssj impata 1985 85 1550<br \/>ford    explor  2003    25      9500<br \/>\u7ed9$1\u8d4b\u503c\u7684\u4f8b\u5b50<\/p>\n<p>\u4f8b20:(\u5efa\u7acb\u72ec\u7acb\u7684awk\u811a\u672c)<br \/>[root@redhat Testsh]# cat if.ak<br \/>#!\/bin\/awk -f<br \/>{<br \/>if ($1~\/ply\/) $1=&quot;plyssj&quot; <br \/>if ($1~\/chev\/) $1=&quot;chevssj&quot;<br \/>print<br \/>}<br \/>[root@redhat Testsh]# if.ak cars<br \/>plyssj fury 1970 73 2500<br \/>chevssj malibu 1990 60 3000<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>chevssj malibu 2000 50 3500<br \/>bmw     325i    1985    115     450<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>toyota  rav4    2002    180     750<br \/>chevssj impata 1985 85 1550<br \/>ford    explor  2003    25      9500<\/p>\n<p>\u4f8b21:(printf\u7684\u4f7f\u7528)<br \/>[root@redhat Testsh]# cat if1.ak<br \/>#!\/bin\/awk -f<br \/>BEGIN{<br \/>print &quot;                 Miles&quot;<br \/>print &quot;Make       Model    year (000)   price&quot;<br \/>print &quot;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-&quot;}<br \/>{if ($1~\/ply\/) $1=&quot;plyssj&quot; <br \/>if ($1~\/chev\/) $1=&quot;chevssj&quot;<br \/>printf &quot;%-10s %-8s %-5d %-5d $ %8.2fn&quot;,$1,$2,$3,$4,$5<br \/>}<br \/>[root@redhat Testsh]# if1.ak cars<br \/>\n                Miles<br \/>Make       Model    year (000)  price<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>plyssj     fury     1970  73    $  2500.00<br \/>chevssj    malibu   1990  60    $  3000.00<br \/>ford       mustang  1965  45    $ 10000.00<br \/>volvo      s80      1998  102   $  9850.00<br \/>ford       thundbd  2003  15    $ 10500.00<br \/>chevssj    malibu   2000  50    $  3500.00<br \/>bmw        325i     1985  115   $   450.00<br \/>honda      accord   2001  30    $  6000.00<br \/>ford       taurus   2004  10    $ 17000.00<br \/>toyota     rav4     2002  180   $   750.00<br \/>chevssj    impata   1985  85    $  1550.00<br \/>ford       explor   2003  25    $  9500.00<br \/>\u4f8b22:(\u91cd\u5b9a\u5411\u8f93\u51fa)<br \/>[root@redhat Testsh]# cat awk_out<br \/>\/chevy\/ {print &gt; &quot;chevfile&quot;}<br \/>\/ford\/ {print &gt; &quot;fordfile&quot;}<br \/>[root@redhat Testsh]# awk -f awk_out cars<br \/>[root@redhat Testsh]# cat chevfile;echo &quot;&quot;;cat fordfile<br \/>chevy   malibu  1990    60      3000<br \/>chevy   malibu  2000    50      3500<br \/>chevy   impata  1985    85      1550<\/p>\n<p>ford    mustang 1965    45      10000<br \/>ford    thundbd 2003    15      10500<br \/>ford    taurus  2004    10      17000<br \/>ford    explor  2003    25      9500<\/p>\n<p>\u4f8b23:(\u4f7f\u7528FS )<br \/>[root@redhat Testsh]# cat find_uid <br \/>#!\/bin\/awk -f<br \/>BEGIN{FS=&quot;:&quot;<br \/>        saveit=0}<br \/>$3&gt;saveit {saveit=$3}<br \/>END{print &quot;Max UID is &quot; saveit }<br \/>[root@redhat Testsh]# find_uid \/etc\/passwd<br \/>Max UID is 65534<br \/>[root@redhat Testsh]# awk -F: &#39;{print $3}&#39; \/etc\/passwd |sort -n|tail -5<br \/>556<br \/>557<br \/>558<br \/>559<br \/>65534<\/p>\n<p>\u4f8b24:<br \/>[root@redhat Testsh]# cat manuf<br \/>#!\/bin\/bash<br \/>gawk &#39;{manuf[$1]++} END {for (name in manuf) print name,manuf[name]}&#39; cars |sort<br \/>[root@redhat Testsh]# bash .\/manuf <br \/>bmw 1<br \/>chevy 3<br \/>ford 4<br \/>honda 1<br \/>plym 1<br \/>toyota 1<br \/>volvo 1<br \/>\u5173\u8054\u6570\u7ec4\u4f7f\u7528cars\u6587\u4ef6\u4e2d\u6bcf\u6761\u8bb0\u5f55\u7684\u7b2c1\u4e2a\u5b57\u6bb5\u7684\u5185\u5bb9\u4f5c\u4e3a\u7d22\u5f15\u3002\u8fd9\u4e2a\u6570\u7ec4\u7531\u5143\u7d20manuf[plym]\uff0cmanuf[chevy]\u7b49\u7ec4\u6210\u3002\u6bcf\u4e2a\u5143\u7d20\u5728\u521b\u5efa\u65f6\u90fd\u88ab\u521d\u59cb\u5316\u4e3a0<\/p>\n<p>\u4f8b25:<br \/>[root@redhat Testsh]# cat word_usage <br \/>#!\/bin\/bash<br \/>tr -cs &#39;[a-zA-Z]&#39; &#39;[n*]&#39; &lt; $1|gawk &#39;{count[$1]++}END {for (item in count) printf &quot;%-15s %-4d n&quot;, item,count[item]}&#39;|sort +1nr +0f -1<br \/>[root@redhat Testsh]# bash .\/word_usage text.txt |head -5<br \/>the             64   <br \/>is              35   <br \/>of              28   <br \/>a               21   <br \/>and             21   <br \/>\u2026\u2026<br \/>\u663e\u793a\u6587\u4ef6\u4e2d\u5355\u8bcd\u7684\u4f7f\u7528\u60c5\u51b5\u5217\u8868<\/p>\n<p>\u4f8b26:<br \/>[root@redhat Testsh]# cat report <br \/>#!\/bin\/bash<br \/>if [ $# == 0 ] ;then<br \/>        echo &quot;you must supply a filename&quot;<br \/>        exit 1<br \/>fi<br \/>(date;cat $1)|awk &#39;<br \/>                NR==1 {print $6,$2,$3,$4}<br \/>                NR&gt;1 {printf &quot;%-10s%-15sn&quot;, $5,$1}&#39;<br \/>[root@redhat Testsh]# bash .\/report cars<br \/>2009 7\u6708 30 10:55:07<br \/>2500      plym           <br \/>3000      chevy          <br \/>10000     ford           <br \/>9850      volvo          <br \/>10500     ford           <br \/>3500      chevy          <br \/>450       bmw            <br \/>6000      honda          <br \/>17000     ford           <br \/>750       toyota         <br \/>1550      chevy          <br \/>9500      ford       <br \/>\u4e00\u4e2a\u628a\u65e5\u671f\u52a0\u5165\u62a5\u544a\u4e2d\u7684\u529e\u6cd5<br \/>getline\u4e0e\u534f\u8fdb\u7a0b\u5148\u4e0d\u8ba8\u8bba\u4e86\uff0c\u4e00\u822c\u7528\u4e0d\u5230<\/p>\n<p>\u7ec3\u4e60\uff1a<br \/>1 \u7f16\u5199\u4e00\u4e2agawk\u7a0b\u5e8f\u5bf9\u6587\u4ef6\u4e2d\u7684\u6bcf\u884c\u7f16\u53f7\uff0c\u7136\u540e\u5c06\u5b83\u7684\u8f93\u51fa\u53d1\u9001\u5230\u6807\u51c6\u8f93\u51fa<br \/>[root@redhat root]# cat g4<br \/>{print NR,$0<br \/>}<br \/>[root@redhat root]# cat tt<br \/>aaaa 1111<br \/>bbbb 2222<br \/>cccc 3333<br \/>dddd 4444<br \/>[root@redhat root]# gawk -f g4 &lt;tt<br \/>1 aaaa 1111<br \/>2 bbbb 2222<br \/>3 cccc 3333<br \/>4 dddd 4444<\/p>\n<p>2 \u7f16\u5199\u4e00\u4e2agawk\u7a0b\u5e8f\uff0c\u663e\u793a\u7b2c1\u4e2a\u5b57\u6bb5\u4e2d\u7684\u5b57\u7b26\u6570\u76ee\uff0c\u540e\u9762\u8ddf\u7740\u7b2c1\u4e2a\u5b57\u6bb5\uff0c\u7136\u540e\u5c06\u8f93\u51fa\u53d1\u9001\u5230\u6807\u51c6\u8f93\u51fa<br \/>[root@redhat root]# cat g5<br \/>{print length($1),$1<br \/>}<br \/>[root@redhat root]# cat tt<br \/>aaaa 1111<br \/>bbbb 2222<br \/>cccc 3333<br \/>dddd 4444<br \/>[root@redhat root]# gawk -f g5 &lt;tt<br \/>4 aaaa<br \/>4 bbbb<br \/>4 cccc<br \/>4 dddd<\/p>\n<p>3 \u7f16\u5199\u4e00\u4e2agawk\u7a0b\u5e8f\uff0c\u4f7f\u7528cars\u6587\u4ef6\uff0c\u663e\u793a\u6240\u6709\u4ef7\u683c\u9ad8\u4e8e5000\u7f8e\u5143\u7684\u6c7d\u8f66\uff0c\u7136\u540e\u5c06\u5176\u8f93\u51fa\u53d1\u9001\u5230\u6807\u51c6\u8f93\u51fa<br \/>[root@redhat root]# awk -f g5 &lt; \/root\/Testsh\/cars<br \/>ford    mustang 1965    45      10000<br \/>volvo   s80     1998    102     9850<br \/>ford    thundbd 2003    15      10500<br \/>honda   accord  2001    30      6000<br \/>ford    taurus  2004    10      17000<br \/>ford    explor  2003    25      9500<\/p>\n<p>4 \u4f7f\u7528gawk\u6765\u5224\u65ad\/etc\/termcap\u4e2d\u6709\u591a\u5c11\u884c\u5305\u542b\u4e86\u5b57\u7b26\u4e32vt100.\u4f7f\u7528grep\u9a8c\u8bc1\u4e00\u4e0b\u81ea\u5df1\u7684\u7a0b\u5e8f<br \/>[root@redhat root]# cat g5<br \/>{if ($0~\/vt100\/)<br \/>num+=1<br \/>}<br \/>END{print num}<br \/>[root@redhat root]# time awk -f g5 \/etc\/termcap<br \/>174<\/p>\n<p>real    0m0.142s<br \/>user    0m0.140s<br \/>sys     0m0.010s<\/p>\n<p>\u9a8c\u8bc1\uff1a<\/p>\n<p>[root@redhat root]# time grep -c vt100 &lt; \/etc\/termcap<br \/>174<\/p>\n<p>real    0m0.317s<br \/>user    0m0.310s<br \/>sys     0m0.010s<\/p>\n<p>\u8fd8\u662fawk\u6bd4\u8f83\u5feb<\/p>\n","protected":false},"excerpt":{"rendered":"<p>gawk \u6a21\u5f0f\u5904\u7406\u8bed\u8a00\u7279\u6027:&nbsp;&nbsp;1 \u7075\u6d3b\u7684\u683c\u5f0f&nbsp;&nbsp;2 \u6761\u4ef6\u6267\u884c&#038;nbs [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-104","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts\/104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=104"}],"version-history":[{"count":0,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=\/wp\/v2\/posts\/104\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kumouse.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}