写正则表达式使用Linux Shell AWK玩转正则表达式(linuxshellawk)
——
Linux Shell 的 AWK 玩转正则表达式
正则表示式(Regular Expression,简称正则)是一种处理文字的强大工具,是字符模式匹配的利器。而Linux Shell 中的 AWK 命令,是个处理文本文件很实用的强大功能,它能按行扫描文件,以特定条件来匹配数据,最后得出想要的结果。那么,只要搭配上正则表达式,我们就能把Linux Shell 中的 AWK 玩得出花样来。
在 Linux Shell 中,正则表达式一般和命令中的 grep,sed 及 awk 结合起来使用,这几种命令支持正则表达式,并且能非常方便地搭配正则表达式。而其中 awk 命令最强大,它支持正则表达式搜索和替换,可以灵活地处理文本。
玩转 Linux Shell 中的 AWK 需要掌握一定的参数,如果是搭配正则表达式使用,就一定要牢记用法,以免混淆。比如 awk 中使用正则表达式,通常使用下面的语法:
awk ‘/正则表达式/ {动作语句}’ 文件
这里的动作语句,只有在匹配上正则表达式时,才会执行,其他行均不执行。awk 命令也可以搭配使用 in 和 ~,以及 !~ 进行文字匹配,语法分别是下面这样:
#行中包含 theda 关键字
awk '/theda/ {动作语句}' 文件
#行中以www. 开头awk '$0 ~ /^www/ {动作语句}' 文件
#行中没有www.awk '$0 !~ /^www/ {动作语句}' 文件
通过上述语法示范,我们可以看出 awk 也支持正则表达式,除此之外,一旦我们熟悉了 awk 的参数,就可以更灵活的应用正则表达式来处理文字了。
Linux Shell 中的 AWK 命令实在太强大了,只要我们再搭配上了正则表达式,就可以