小编sim*_*Pod的帖子

sed 不匹配通配符贪婪地裁剪字符串部分

我有这个字符串

extension_dir => /some/path/php/extensions/no-debug-non-zts-20160303 => /some/path/php/extensions/no-debug-non-zts-20160303
sqlite3.extension_dir => no value => no value
Run Code Online (Sandbox Code Playgroud)

这是输出 php -i | grep extension_dir

我如何在 bash 中解析它以获得第一个 /some/path/php/extensions/no-debug-non-zts-20160303

到目前为止,我已经尝试过:

echo $(php -i | grep extension_dir | sed 's/extension_dir => //g' | sed 's/=> .*//g')

但这给了我/some/path/php/extensions/no-debug-non-zts-20160303 sqlite3.no value。我不知道为什么它不替换所有匹配项=> .*

我的基本想法是首先摆脱,extension_dir =>而不是在第一次=>包括之后摆脱一切=>可能 sed 匹配的东西与正则表达式不同。

linux bash sed

5
推荐指数
2
解决办法
587
查看次数

标签 统计

bash ×1

linux ×1

sed ×1