使用 sed 插入包含引号 ' 的行
inserting a line containing quote mark ' using sed
我正在尝试编写一个将安装 VirtualBox Headless 的文件脚本。我缺少一个部分来完成它。 phpVirtualBox 要求您编辑 config.php 文件并更改密码。
我要修改的部分是:
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';<br>
var $password = 'pass'; **********This Line*****************
我已阅读 (man sed) 并在整个互联网上寻找解决方案,但运气不佳。
我尝试了多个 sed 命令,但 none 将插入 ' 刻度线。
除了 ('),我能得到所有的东西。
这些标记需要围绕密码才能使 config.php 文件正常工作。
我可以删除整行然后尝试插入新行只插入:
var $password = pass ;
谁能帮我弄清楚如何插入整行:
var $password 'pass';
我会 post 完整的脚本是任何人都对使用它感兴趣。
保持''不变,替换里面的值即可:
echo "var $password = 'pass';" | sed "s@'pass'@'newpass'@"
结果
var $password = 'newpass';
echo "var $password = 'pass';"|sed "s/\(var $password = '\)[^']\+';/changed_pass\';/g"
它匹配内容var $password= 'sometext';
并保持var $password= '
为</code>,将您的新密码放在<code>
旁边,然后添加左侧部分';
就这样使用sed:
上 Mac OS X:
sed -i '' "s/var $password =.*/var $password = 'newpass'/" ~/yourscript.sh
在 Ubuntu:
sed -i "s/var $password =.*/var $password = 'newpass'/" ~/yourscript.sh
您的脚本只是包含您要覆盖的配置的文件,在本例中是包含密码属性的文件
希望此回答对您有所帮助。
谢谢。
我正在尝试编写一个将安装 VirtualBox Headless 的文件脚本。我缺少一个部分来完成它。 phpVirtualBox 要求您编辑 config.php 文件并更改密码。 我要修改的部分是:
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';<br>
var $password = 'pass'; **********This Line*****************
我已阅读 (man sed) 并在整个互联网上寻找解决方案,但运气不佳。
我尝试了多个 sed 命令,但 none 将插入 ' 刻度线。
除了 ('),我能得到所有的东西。 这些标记需要围绕密码才能使 config.php 文件正常工作。
我可以删除整行然后尝试插入新行只插入:
var $password = pass ;
谁能帮我弄清楚如何插入整行:
var $password 'pass';
我会 post 完整的脚本是任何人都对使用它感兴趣。
保持''不变,替换里面的值即可:
echo "var $password = 'pass';" | sed "s@'pass'@'newpass'@"
结果
var $password = 'newpass';
echo "var $password = 'pass';"|sed "s/\(var $password = '\)[^']\+';/changed_pass\';/g"
它匹配内容var $password= 'sometext';
并保持var $password= '
为</code>,将您的新密码放在<code>
旁边,然后添加左侧部分';
就这样使用sed:
上 Mac OS X:
sed -i '' "s/var $password =.*/var $password = 'newpass'/" ~/yourscript.sh
在 Ubuntu:
sed -i "s/var $password =.*/var $password = 'newpass'/" ~/yourscript.sh
您的脚本只是包含您要覆盖的配置的文件,在本例中是包含密码属性的文件
希望此回答对您有所帮助。
谢谢。