【发布时间】:2014-04-09 21:14:29
【问题描述】:
我是 Sed 的新手,正如您想象的那样,您可能会很早就迷路......
我在尝试使用 bash 脚本更改的 PHP 页面中有以下变量:
$username='';
我想给它一个存储在 $myUsername 中的扩展变量值,以便最终条目看起来像:
$username='someName';
我相信我已经接近了以下内容,但似乎无法越过终点线......
sed -i 's/"$username = ''".*$/\$username = /"${myUsername}/"' /var/www/settings.php
感谢您的教育/帮助
【问题讨论】:
-
为什么你的正则表达式里都有双引号?
sed将尝试匹配这些并失败。 -
请注意,这对用户名很好,但如果您有包含
/字符的数据,则无法使用;处理任意数据需要更多涉及的技术。 -
(另外,
sed -i不是 POSIX 标准选项,因此如果您使用它的脚本在其他操作系统上无法运行,请不要感到惊讶)。 -
感谢大家提供额外的 cmets,非常感谢。