You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何截取php -v命令输出,剔除指定符号后内容仅保留核心版本号

解决方案

你之前的命令仅做了行匹配过滤,没有对匹配到的行内容做截取,所以会返回完整的行内容,可以用以下两种方法实现需求:

方法1:使用grep的仅匹配输出功能

如果只需要保留到三位版本号(即PHP 7.3.27格式),执行命令:

php -v | grep -oE '^PHP [0-9]+\.[0-9]+\.[0-9]+'

如果需要连带保留-加数字的后缀(即你示例中的PHP 7.3.27-9格式),调整正则即可:

php -v | grep -oE '^PHP [0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?'

命令说明:

  • -o参数指定grep仅输出匹配到的内容,而非整行
  • -E启用扩展正则表达式,简化正则写法
  • 正则规则精准匹配行开头的PHP加版本号片段,自动截断后续-、+开头的冗余内容

方法2:使用sed做内容替换

也可以用sed实现同样效果,命令如下:

php -v | sed -n 's/^\(PHP [0-9.]*\)[-+ ].*/\1/p'

命令说明:

  • -n关闭sed默认的全量输出
  • 替换规则捕获行开头的版本号部分,将后续冗余内容全部清空后输出匹配行

内容的提问来源于stack exchange,提问作者shiva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 17:30:01