13. awk正则表达式

awk命令而言,正则表达式是置于两个正斜杠之间、由字符组成的模式。awk支持使用(与egrep相同的)正则表达式元字符对正则表达式进行某种方式的修改。如果输入行中的某个字符串与正则表达式相匹配,则最终条件为真,于是执行与该表达式关联的所有操作。如果没有指定操作,则打印与正则表达式匹配的记录。
范例

cat employees
Tom   Jones  4424  5 / 12 / 66  543354
Mary  Adams  5346  11 / 4 / 63  28765
Sally Chang  1654  7 / 22 / 54  650000
Billy Black  1683  9 / 23 / 44  336500
$ awk  '/Mary/' employees
Mary  Adams  5346  11 / 4 / 63  28765

说明:显示文件employees中所有包含正则表达式Mary的行。

范例

$ awk  '/Mary/{print $1,$2}' employees
Mary Adams

说明:显示文件employees中所有包含正则表达式Mary的行的头两个字段。
awk正则表达式元字符

元字符 说明
^ 匹配串首
$ 匹配串尾
. 匹配单个任意字符
* 匹配零个或多个前导字符
+ 匹配一个或多个前导字符
? 匹配零个或一个前导字符
[ABC] 匹配指定字符组(即A、B和C)中任一字符
[^ABC] 匹配任何一个不在指定字符组(即A、B和C)中的字符
[A-Z] 匹配A至Z之间的任一字符
A|B 匹配A或B
(AB)+ 匹配一个或多个AB 的组合,例如: AB 、ABAB 、ABABAB
\* 匹配星号本身
& 用在替代串中,代表查找串中匹配到的内容

以下是grep与sed支持,而awk不支持的元字符。
awk不支持的元字符

元字符 说明
\< \> 单词定位
\( \) 向前引用
\{ \} 重复





FROM: http://www.linuxawk.com/jiaocheng/125.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值