如何grep以下

时间:2017-02-03 09:11:52

标签: bash sed grep

我有一个输入文件

RAKESH_ONE    
RAKESH-TWO
RAKESH123
RAKESHTHREE
/RAKESH/
FIVERAKESH
456RAKESH
WELCOME123
This is RAKESH

我想获得输出

RAKESH_ONE
RAKESH-TWO
/RAKESH/
This is RAKESH

我想打印与模式RAKESH匹配的行。如果图案带有前缀或后缀为字母数字,我们应该避免使用它。

1 个答案:

答案 0 :(得分:3)

([^a-zA-Z0-9]+|^)RAKESH([^a-zA-Z0-9]+|$)

这将匹配行上没有字母数字前缀或后缀的模式。它与整个行不匹配,但如果与grepsed一起使用,则只能输出所需的行。

<强>更新

根据要求,这里是完整的grep命令。使用-E选项使用扩展正则表达式:

grep -E "([^a-zA-Z0-9]+|^)RAKESH([^a-zA-Z0-9]+|$)" file.txt