unix – 解释awk命令

前端之家收集整理的这篇文章主要介绍了unix – 解释awk命令前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我在网上搜索一个命令,打印下一行两行之后,我遇到了一个我无法理解的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”,这样更能表达变量实际上是什么。

猜你在找的Bash相关文章