文档介绍:awk 正则表达式、正则运算符详细介绍
博客分类:
shell
正则表达式LinuxJavaScriptPerlD语言
原文  '/allen | alan /' testfile
将包含字符串 allen 或 alan 的所有记录打印至标准输出。此示例中的输出是:
smiley, allen smith, alan
( )
在正则表达式中将字符串组合在一起。命令行:
awk '/a(ll)?(nn)?e/' testfile
将具有字符串 ae 或 alle 或 anne 或 allnne 的所有记录打印至标准输出。此示例中的输出是:
smiley, allen smithhern, anne
{ m }
指定如果正好有 m 个模式的具体值位于字符串中,则字符串匹配。命令行:
awk '/l{2}/' testfile
打印至标准输出
smiley, allen
{ m, }
指定如果至少 m 个模式的具体值在字符串中,则字符串匹配。命令行:
awk '/t{2,}/' testfile
打印至标准输出:
smitters, alexis
{ m, n }
指定如果 m 和 n 之间(包含的 m 和 n)个模式的具体值在字符串中(其中m <= n ),则字符串匹配。命令行:
awk '/er{1, 2}/' testfile
打印至标准输出:
字符
功能
smithern, harry smithern, anne smitters, alexis
[ String ]
指定正则表达式与方括号内 String 变量指定的任何字符匹配。命令行:
awk '/sm[a-h]/' testfile
将具有 sm 后跟以字母顺序从 a 到 h 排列的任何字符的所有记录打印至标准输出。此示例的输出是:
smawley, andy
[^ String ]
在 [ ](方括号)和在指定字符串开头的 ^ (插入记号) 指明正则表达式与方括号内的任何字符不 匹配。这样,命令行:
awk '/sm[^a-h]/' testfile
打印至标准输出:
smiley, allen smith, alan smithern, harry smithhern, anne smitters, alexis
~,!~
表示指定变量与正则表达式匹配(代字号)或不匹配(代字号、感叹号)的条件语句。命令行:
awk '$1 ~ /n/' testfile
将第一个字段包含字符 n 的所有记录打印至标准输出。此示例中的输出是:
smithern, harry smithhern, anne
^
指定字段或记录的开头。命令行:
awk '$2 ~ /^h/' testfile
将把字符 h 作为第二个字段的第一个字符的所有记录打印至标准输出。此示例中的输出是:
smithern, harry
$
指定字段或记录的末尾。命令行:
awk '$2 ~ /y$/' testfile
将把字符 y 作为第二个字段的最后一个字符的所有记录打印至标准输出。此