精通awk系列(6):awk命令结构和awk语法结构
回到:
awk命令行结构和语法结构
awk命令行结构
1 | awk [ -- ] program-text file ... (1) |
其中:
awk语法结构
awk语法结构即awk代码部分的结构。
awk的语法充斥着pattern{action}
的模式,它们称为awk rule。
例如:
1 | awk ' |
上面示例中,有BEGIN语句块,有END语句块,还有2个main代码块,两个main代码块都使用了正则表达式作为pattern。
关于awk的语法:
- 多个
pattern{action}
可以直接连接连用 - action中多个语句如果写在同一行,则需使用分号分隔
- pattern部分用于筛选行,action表示在筛选通过后执行的操作
- pattern和action都可以省略
- 省略
pattern
,等价于对每一行数据都执行action- 例如:
awk '{print $0}' a.txt
- 例如:
- 省略代码块
{action}
,等价于{print}
即输出所有行- 例如:
awk '/Alice/' a.txt
等价于awk '/Alice/{print $0}' a.txt
- 例如:
- 省略代码块中的
action
,表示对筛选的行什么都不做- 例如:
awk '/Alice/{}' a.txt
- 例如:
pattern{action}
任何一部分都可以省略- 例如:
awk '' a.txt
- 例如:
- 省略
pattern和action
对于pattern{action}
语句结构(都称之为语句块),其中的pattern部分可以使用下面列出的模式:
1 | # 特殊pattern |
action部分,可以是任何语句,例如print。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 骏马金龙!
评论