个性化阅读
专注于IT技术分析

Linux grep正则表达式

本文概述

grep工具具有以下使用正则表达式的选项:

  • -E:将字符串读取为ERE(扩展正则表达式)
  • -G:将字符串读取为BRE(基本正则表达式)
  • -P:将字符串读取为PRCE(Perl正则表达式)
  • -F:从字面上读取字符串。

匹配图案的打印线

grep命令将搜索与指定模式匹配的行。

句法:

grep <pattern> <fileName>

例:

grep t msg.txt
grep l msg.txt
grep v msg.txt
Linux Grep正则表达式1

查看上面的快照, 将显示所有匹配的图案行, 并突出显示图案。


串联字符

如果图案是由多个字符组成的, 则必须按原样进行匹配, 才能显示该行。

例:

grep tp msg.txt
grep in msg.txt
grep is msg.txt
Linux Grep正则表达式2

查看上面的快照, 将显示与指定模式完全匹配的行。


非此即彼

在这里, 竖线(|)符号用作OR, 以表示一个或另一个。显示了所有三个版本。选项-E和-P语法相同, 但-G语法使用(\)。

句法:

grep <option> <'pattern|pattern> <fileName>

例:

grep -E 'j|g' msg.txt
grep -P 'j|g' msg.txt
grep -G 'j\|g' msg.txt
Linux Grep正则表达式3

查看上面的快照, 应该匹配模式” j”或” g”以显示行。


一个或多个/零个或多个

*表示模式出现0次或多次, +表示模式出现一次或多次。

句法:

grep <option> <'pattern*'> <fileName>

例:

grep -E '1*' list
grep -E '1+' list
Linux Grep正则表达式4

查看上面的快照, *字符显示模式” 1″出现零次或多次。但是+字符显示一次或多次出现。


匹配字符串的结尾

为了匹配字符串的结尾, 我们使用$符号。

句法:

grep <pattern>$ <fileName>

例:

grep r$ dupli.txt
grep e$ dupli.txt
Linux Grep正则表达式5

查看上面的快照, 显示的行与字符串的末尾匹配。


匹配字符串的开头

为了匹配文件的开头或开头, 我们使用脱字符号(^)。

句法:

grep ^<pattern> <fileName>

例:

grep ^o dupli.txt
Linux Grep正则表达式6

查看上面的快照, 显示的行与字符串的开头或开头匹配。


分词

句法:

grep '\b<pattern>\b' <fileName>

例:

grep '\bsome\b' file
Linux Grep正则表达式7

看上面的快照, 通过给命令” grep some file”, 将显示所有与单词” some”匹配的行。但是, 通过给命令” grep’\ bsome \ b’file”, 则仅显示匹配单词” some”的行。 。

注意:这也可以在-w选项的帮助下完成。

句法:

grep -w <pattern> <fileName>

例:

grep -w some file
Linux Grep正则表达式8

查看上面的快照, 命令” grep -w some file”显示与\ b字符相同的结果。

赞(0)
未经允许不得转载:srcmini » Linux grep正则表达式

评论 抢沙发

评论前必须登录!