awk正则表达式

来源:互联网 发布:tcl网络电视进不了系统 编辑:程序博客网 时间:2024/04/30 02:03

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不支持的元字符

元字符说明\< \>单词定位\( \)向前引用\{ \}重复参考资料:http://www.linuxawk.com/jiaocheng/125.html

0 0
原创粉丝点击