mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-22 06:51:31 +08:00
doc: update awk.md
. e145ecc715
This commit is contained in:
@ -283,7 +283,7 @@
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>$1 == "root"</code></td><td align="left">第一个字段等于根</td></tr><tr><td align="left"><code>{print $(NF-1)}</code></td><td align="left">倒数第二个字段</td></tr><tr><td align="left"><code>NR!=1{print $0}</code></td><td align="left">从第 2 条记录开始</td></tr><tr><td align="left"><code>NR > 3</code></td><td align="left">从第 4 条记录开始</td></tr><tr><td align="left"><code>NR == 1</code></td><td align="left">第一次记录</td></tr><tr><td align="left"><code>END{print NR}</code></td><td align="left">总记录</td></tr><tr><td align="left"><code>BEGIN{print OFMT}</code></td><td align="left">输出格式</td></tr><tr><td align="left"><code>{print NR, $0}</code></td><td align="left">行号</td></tr><tr><td align="left"><code>{print NR " " $0}</code></td><td align="left">行号(选项卡)</td></tr><tr><td align="left"><code>{$1 = NR; print}</code></td><td align="left">用行号替换第一个字段</td></tr><tr><td align="left"><code>$NF > 4</code></td><td align="left">最后一个字段 > 4</td></tr><tr><td align="left"><code>NR % 2 == 0</code></td><td align="left">甚至记录</td></tr><tr><td align="left"><code>NR==10, NR==20</code></td><td align="left">记录 10 到 20</td></tr><tr><td align="left"><code>BEGIN{print ARGC}</code></td><td align="left">总 <code>arguments</code></td></tr><tr><td align="left"><code>ORS=NR%5?",":"\n"</code></td><td align="left">连接记录</td></tr></tbody></table>
|
||||
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>$1 == "root"</code></td><td align="left">第一个字段等于根</td></tr><tr><td align="left"><code>{print $(NF-1)}</code></td><td align="left">倒数第二个字段</td></tr><tr><td align="left"><code>NR!=1{print $0}</code></td><td align="left">从第 2 条记录开始</td></tr><tr><td align="left"><code>NR > 3</code></td><td align="left">从第 4 条记录开始</td></tr><tr><td align="left"><code>NR == 1</code></td><td align="left">第一次记录</td></tr><tr><td align="left"><code>END{print NR}</code></td><td align="left">总记录</td></tr><tr><td align="left"><code>BEGIN{print OFMT}</code></td><td align="left">输出格式</td></tr><tr><td align="left"><code>{print NR, $0}</code></td><td align="left">行号</td></tr><tr><td align="left"><code>{print NR " " $0}</code></td><td align="left">行号(选项卡)</td></tr><tr><td align="left"><code>{$1 = NR; print}</code></td><td align="left">用行号替换第一个字段</td></tr><tr><td align="left"><code>$NF > 4</code></td><td align="left">最后一个字段 > 4</td></tr><tr><td align="left"><code>NR % 2 == 0</code></td><td align="left">甚至记录</td></tr><tr><td align="left"><code>NR==10, NR==20</code></td><td align="left">记录 10 到 20</td></tr><tr><td align="left"><code>BEGIN{print ARGC}</code></td><td align="left">总 <code>arguments</code></td></tr><tr><td align="left"><code>ORS=NR%5?",":"\n"</code></td><td align="left">连接记录</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="示例-1"><a aria-hidden="true" tabindex="-1" href="#示例-1"><span class="icon icon-link"></span></a>示例</h3><div class="wrap-body">
|
||||
<p>打印总和和平均值</p>
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line"><span class="token function">awk</span> -F: <span class="token string">'{sum += $3}
|
||||
@ -585,7 +585,7 @@
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">函数</th><th align="left">描述</th></tr></thead><tbody><tr><td align="left"><code>index(s,t)</code></td><td align="left">字符串 <code>s</code> 中出现字符串 <code>t</code> 的位置,如果未找到则为 <code>0</code></td></tr><tr><td align="left"><code>length(s)</code></td><td align="left">字符串 <code>s</code> 的长度(如果没有 <code>arg</code>,则为 <code>$0</code>)</td></tr><tr><td align="left"><code>rand</code></td><td align="left"><code>0</code> 到 <code>1</code> 之间的随机数</td></tr><tr><td align="left"><code>substr(s,index,len)</code></td><td align="left">返回从索引开始的 <code>s</code> 的 <code>len-char</code> 子字符串(从 <code>1</code> 开始计数)</td></tr><tr><td align="left"><code>srand</code></td><td align="left">为 <code>rand</code> 设置种子并返回之前的种子</td></tr><tr><td align="left"><code>int(x)</code></td><td align="left">将 <code>x</code> 截断为整数值</td></tr><tr><td align="left"><code>split(s,a,fs)</code></td><td align="left">将字符串 <code>s</code> 拆分为数组 <code>a</code> 由 <code>fs</code> 拆分,返回 <code>a</code> 的长度</td></tr><tr><td align="left"><code>match(s,r)</code></td><td align="left">字符串 <code>s</code> 中出现正则表达式 <code>r</code> 的位置,如果未找到,则为 <code>0</code></td></tr><tr><td align="left"><code>sub(r,t,s)</code></td><td align="left">将 <code>t</code> 替换为字符串 <code>s</code> 中第一次出现的正则表达式 <code>r</code>(如果未给出 <code>s</code>,则替换为 <code>$0</code>)</td></tr><tr><td align="left"><code>gsub(r,t,s)</code></td><td align="left">用 <code>t</code> 替换字符串 <code>s</code> 中所有出现的正则表达式 <code>r</code></td></tr><tr><td align="left"><code>system(cmd)</code></td><td align="left">执行cmd并返回退出状态</td></tr><tr><td align="left"><code>tolower(s)</code></td><td align="left">字符串 <code>s</code> 转小写</td></tr><tr><td align="left"><code>toupper(s)</code></td><td align="left">字符串 <code>s</code> 转大写</td></tr><tr><td align="left"><code>getline</code></td><td align="left">将 <code>$0</code> 设置为当前输入文件中的下一个输入记录</td></tr></tbody></table>
|
||||
<table><thead><tr><th align="left">函数</th><th align="left">描述</th></tr></thead><tbody><tr><td align="left"><code>index(s,t)</code></td><td align="left">字符串 <code>s</code> 中出现字符串 <code>t</code> 的位置,如果未找到则为 <code>0</code></td></tr><tr><td align="left"><code>length(s)</code></td><td align="left">字符串 <code>s</code> 的长度(如果没有 <code>arg</code>,则为 <code>$0</code>)</td></tr><tr><td align="left"><code>rand</code></td><td align="left"><code>0</code> 到 <code>1</code> 之间的随机数</td></tr><tr><td align="left"><code>substr(s,index,len)</code></td><td align="left">返回从索引开始的 <code>s</code> 的 <code>len-char</code> 子字符串(从 <code>1</code> 开始计数)</td></tr><tr><td align="left"><code>srand</code></td><td align="left">为 <code>rand</code> 设置种子并返回之前的种子</td></tr><tr><td align="left"><code>int(x)</code></td><td align="left">将 <code>x</code> 截断为整数值</td></tr><tr><td align="left"><code>split(s,a,fs)</code></td><td align="left">将字符串 <code>s</code> 拆分为数组 <code>a</code> 由 <code>fs</code> 拆分,返回 <code>a</code> 的长度</td></tr><tr><td align="left"><code>match(s,r)</code></td><td align="left">字符串 <code>s</code> 中出现正则表达式 <code>r</code> 的位置,如果未找到,则为 <code>0</code></td></tr><tr><td align="left"><code>sub(r,t,s)</code></td><td align="left">将 <code>t</code> 替换为字符串 <code>s</code> 中第一次出现的正则表达式 <code>r</code>(如果未给出 <code>s</code>,则替换为 <code>$0</code>)</td></tr><tr><td align="left"><code>gsub(r,t,s)</code></td><td align="left">用 <code>t</code> 替换字符串 <code>s</code> 中所有出现的正则表达式 <code>r</code></td></tr><tr><td align="left"><code>system(cmd)</code></td><td align="left">执行cmd并返回退出状态</td></tr><tr><td align="left"><code>tolower(s)</code></td><td align="left">字符串 <code>s</code> 转小写</td></tr><tr><td align="left"><code>toupper(s)</code></td><td align="left">字符串 <code>s</code> 转大写</td></tr><tr><td align="left"><code>getline</code></td><td align="left">将 <code>$0</code> 设置为当前输入文件中的下一个输入记录</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="用户定义函数"><a aria-hidden="true" tabindex="-1" href="#用户定义函数"><span class="icon icon-link"></span></a>用户定义函数</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line"><span class="token function">awk</span> <span class="token string">'
|
||||
</span></span><span class="code-line"><span class="token string"> # Returns minimum number
|
||||
@ -932,7 +932,7 @@
|
||||
|
||||
|
||||
|
||||
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>\b</code></td><td align="left">退格</td></tr><tr><td align="left"><code>\f</code></td><td align="left">换页</td></tr><tr><td align="left"><code>\n</code></td><td align="left">换行(换行)</td></tr><tr><td align="left"><code>\r</code></td><td align="left">回车</td></tr><tr><td align="left"><code>\t</code></td><td align="left">水平选项卡</td></tr><tr><td align="left"><code>\v</code></td><td align="left">垂直选项卡</td></tr></tbody></table>
|
||||
<table><thead><tr><th align="left">:-</th><th align="left">:-</th></tr></thead><tbody><tr><td align="left"><code>\b</code></td><td align="left">退格</td></tr><tr><td align="left"><code>\f</code></td><td align="left">换页</td></tr><tr><td align="left"><code>\n</code></td><td align="left">换行(换行)</td></tr><tr><td align="left"><code>\r</code></td><td align="left">回车</td></tr><tr><td align="left"><code>\t</code></td><td align="left">水平选项卡</td></tr><tr><td align="left"><code>\v</code></td><td align="left">垂直选项卡</td></tr></tbody></table>
|
||||
</div></div></div><div class="wrap"><div class="wrap-header h3wrap"><h3 id="运行脚本"><a aria-hidden="true" tabindex="-1" href="#运行脚本"><span class="icon icon-link"></span></a>运行脚本</h3><div class="wrap-body">
|
||||
<pre class="language-shell"><code class="language-shell code-highlight"><span class="code-line">$ <span class="token function">cat</span> demo.awk
|
||||
</span><span class="code-line"><span class="token comment">#!/usr/bin/awk -f</span>
|
||||
|
Reference in New Issue
Block a user