加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 解释awk命令

发布时间:2020-12-15 19:10:28 所属栏目:安全 来源:网络整理
导读:今天我在网上搜索一个命令,打印下一行两行之后,我遇到了一个我无法理解的awk命令。 $ /usr/xpg4/bin/awk '__--;/PATTERN/{_=2}' input 有人可以解释一下吗? 在实现普通的awk成语(下面的成语“e”)时,有人使用_作为变量名。将每个_更改为字数(或c),然后
今天我在网上搜索一个命令,打印下一行两行之后,我遇到了一个我无法理解的awk命令。
$ /usr/xpg4/bin/awk '_&&_--;/PATTERN/{_=2}' input

有人可以解释一下吗?

在实现普通的awk成语(下面的成语“e”)时,有人使用_作为变量名。将每个_更改为字数(或c),然后查看是否对您有意义。

一些背景:以下成语描述了如何选择一个给定特定正则表达式匹配的记录范围:

a) Print all records from some regexp:

    awk '/regexp/{f=1}f' file

b) Print all records after some regexp:

    awk 'f;/regexp/{f=1}' file

c) Print the Nth record after some regexp:

    awk 'c&&!--c;/regexp/{c=N}' file

d) Print every record except the Nth record after some regexp:

    awk 'c&&!--c{next}/regexp/{c=N}1' file

e) Print the N records after some regexp:

    awk 'c&&c--;/regexp/{c=N}' file

f) Print every record except the N records after some regexp:

    awk 'c&&c--{next}/regexp/{c=N}1' file

g) Print the N records from some regexp:

    awk '/regexp/{c=N}c&&c--' file

在适当的情况下,我将变量名从“f”改为“c”,这样更能表达变量实际上是什么。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读