我想使用grep提取'&'之前的单词

时间:2019-07-19 03:29:44

标签: regex bash shell unix

例如,我有一个包含“ fab fa-”字符串集的代码

"fab fa-123" -> fab fa-123
'fab fa-123' -> fab fa-123

现在,在Unix中,我想提取特殊字符“或”之前的所有fab fa字符和数字。

我正在使用正则表达式,

grep -r -o -h 'fab fa-.*' > filename.txt

结果是这样的:

fab fa-123"blahblah
fab fa-123'blahblah

我想提取" and '之前的单词。我怎样才能做到这一点?

我需要你的帮助。谢谢!

2 个答案:

答案 0 :(得分:2)

grep -r -o "[^\"\']*" inputfile > outputfile

答案 1 :(得分:1)

怎么样

grep -o '^[^"'"']*"

?这里的模式为^[^"']*,但是由于引号对shell具有特殊含义,因此我将模式的前半部分用单引号引起来,将后半部分用双引号引起来。另一种方法是反斜杠转引号:

grep -o "^[^\"']*"