regex – 如何使用grep获取任何刚刚`name =`后?

前端之家收集整理的这篇文章主要介绍了regex – 如何使用grep获取任何刚刚`name =`后?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我坚持试图grep任何刚刚name =后,只包括空格和字母数字。

例如。:

name=some value here

我得到

some value here

我完全是新手,在这里,以下grep匹配一切,包括名称=。

grep 'name=.*' filename

任何帮助深表感谢。

正如详细 here,你想要一个正的lookbehind子句,如:
grep -P '(?<=name=)[ A-Za-z0-9]*' filename

-P使grep使用Perl方言,否则你可能需要转义圆括号。您还可以,如别处所述,附加-o参数以仅打印匹配的内容。括号中的部分指定您需要字母数字和空格。

使用正lookbehind子句的优点是“name =”文本不是匹配的一部分。如果grep突出显示匹配的文本,它将只突出显示字母数字(和空格)部分。 -o参数也不会显示“name =”部分。并且,如果你转换到另一个程序,如sed,可能捕获文本,并做一些事情,你不会捕获“name =”部分,虽然你也可以通过使用捕获的父母。

猜你在找的Bash相关文章