Awk正则表达式命令和示例

Awk是非常流行和有用的文本和字符串操作工具。Regex或正则表达式是用于定义文本和字符串结构的通用语言。Awk罐

null

语法

awk的正则表达式可以与以下语法一起使用。

awk '/REGULAR_EXPRESSION/'
  • REGULAR_EXPRESSION 是我们要运行的正则表达式。正则表达式被 / /

示例数据

我们将使用名为 data.txt 例如脚本。

ismail 33 male                                                                                                       ahmet 5 male                                                                                                         elif 8 female

任何单个字符

正则表达式的第一个也是最简单的例子是用正则表达式表示单个字符。在这篇文章中,我们将从 is 结束于 ail 但包含单个字符之间则字符不重要。

$ awk '/is.ail/' data.txt
Any Single Character
任何单个字符

线路起点

我们可能需要指定行的起点。我们将使用 ^ sig指定行的开始。在本例中,我们将查看以开头的行 a .

$ awk '/^a/' data.txt
Start Of Line
线路起点

行尾

像前面的例子一样,我们也可以用 $ 签字。在本例中,我们将查看以 le .

$ awk '/le$/' data.txt
End Of Line
行尾

匹配字符集

我们可以指定多个字符来匹配其中一个。我们将把这些角色放到 [...] . 在这个例子中,我们将匹配那些 sm hm .

$ awk '/[sh]m/' data.txt
Match Character Set
匹配字符集

独占集

排他集是字符集的逆运算。提供的匹配行集将从输出中删除。我们将把独家套餐快递为 [^...] . 在本例中,我们希望列出那些没有的行 sm hm .

$ awk '/[^sh]m/' data.txt

或多个单词

我们可以为单个搜索操作指定多个单词。这将匹配所有具有所提供单词之一的行。在这个例子中,我们将匹配线 ahmet ismail

$ awk "/ismail|ahmet/" data.txt
OR or Multiple Words
或多个单词

匹配零次或一次出现

我们可以指定期望给定字符出现零次或一次。我们将使用 ? 签字。在这个例子中,我们将看到 i 字符零或一次出现。

$ awk "/l?i/" data.txt
Match Zero or One Occurrence
匹配零次或一次出现

匹配零次或多次出现

我们可以使用 * 签字。在本例中,我们将查找单词 male , malee , maleee , …

$ awk "/male*/" data.txt
Match Zero or More Occurrence
匹配零次或多次出现

匹配一个或多个引用

我们也可以期望给定的字符或单词出现一次或多次。我们将使用 + 为了这个。在这个例子中,我们将看到 male , mmale , mmmale .

$ awk "/m*ale/" data.txt
Match One or More Occurrence
匹配一个或多个引用

匹配组

到目前为止,我们通常使用单个字符,但在现实世界中,我们可能需要多个字符或单词来匹配。我们将使用 (...) . 在本例中,我们将查看 male .

$ awk "/(male)+/" data.txt
Match Groups
匹配组

相关文章: nginxweb服务器配置中的“服务器名称”是什么?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享