📜  Linux Grep正则表达式

📅  最后修改于: 2020-12-08 05:07:09             🧑  作者: Mango

Linux grep正则表达式

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

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

匹配图案的打印线

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

句法:

 grep  

例:

grep t msg.txt
grep l msg.txt
grep v msg.txt

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

串联字符

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

例:

grep tp msg.txt
grep in msg.txt
grep is msg.txt

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

非此即彼

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

句法:

grep 

例:

grep -E 'j|g' msg.txt
grep -P 'j|g' msg.txt
grep -G 'j\|g' msg.txt

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

一个或多个/零个或多个

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

句法:

grep 

例:

grep -E '1*' list
grep -E '1+' list

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

匹配字符串的结尾

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

句法:

grep $ 

例:

grep r$ dupli.txt
grep e$ dupli.txt

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

匹配字符串的开头

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

句法:

grep ^ 

例:

grep ^o dupli.txt

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

分词

句法:

grep '\b\b' 

例:

grep '\bsome\b' file

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

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

句法:

grep -w  

例:

grep -w some file

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