Grep 匹配字后显示X个字符

Grep 匹配字后显示X个字符,grep,Grep,我想显示不同服务的文件和版本号。例如,文本文件中可能有一行写着nginx 1.13.0。我希望能够搜索nginx[0-9].[0-9].[0-9].的每个实例,并将其显示为版本号和文件名/行 我已经尝试过这个命令,它可以很好地显示匹配的文件: grep -lrEH "nginx [0-9].[0-9].[0-9]" 您很接近,缺少一个以上的数字+。您还应该转义,因此它只表示,而不是任何字符 尝试: 我想让它输出nginx服务器的文件名和版本号。例如/out/www.host.com/hashf

我想显示不同服务的文件和版本号。例如,文本文件中可能有一行写着
nginx 1.13.0
。我希望能够搜索
nginx[0-9].[0-9].[0-9].
的每个实例,并将其显示为版本号和文件名/行

我已经尝试过这个命令,它可以很好地显示匹配的文件:

grep -lrEH "nginx [0-9].[0-9].[0-9]"

您很接近,缺少一个以上的数字
+
。您还应该转义
,因此它只表示
,而不是任何字符

尝试:


我想让它输出nginx服务器的文件名和版本号。例如/out/www.host.com/hashfile-nginx 0.0。2@JacobCross尝试更新的解决方案<代码>-l更改为
-o
grep -EHro "nginx [0-9]+\.[0-9]+\.[0-9]+"