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 =”部分,虽然你也可以通过使用捕获的父母。

相关文章

普通模式 >G 增加当前行到文档末尾处的缩紧层级 $ 移动到本行的末尾 . 相当于一个...
原文连接: https://spacevim.org/cn/layers/lang/elixir/ 模块简介 功能特性 启用模块 快捷键 语言专属...
原文连接: https://spacevim.org/cn/layers/lang/dart/ 模块简介 功能特性 依赖安装及启用模块 启用模...
 =   赋值操作符,可以用于算术和字符串赋值 +        加法计算     -        减法运算...
1.根据包名来查看指定的APP指定数据 adb shell "top | grep com.xxx.xxx" 由于这样打印出来的数...
ctrl+F 向下翻页 ctrl+B 向下翻页 u 取消最近一次操作 U 取消当前行的操作 ZZ 保存当前内容并退出 gg 跳...