[英]Edit config file using bash and sed
假设test.txt
包含:
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'pass');
我想使用bash脚本编辑以上文件。 我将运行脚本并将'wordpress'
替换为'foobar'
。 到目前为止,这是我得到的:
#!/usr/bin/bash
# Database config
echo -e "\ndatabase name: \c"
read DB_NAME
sed -i "s/^\define\('DB_NAME',\s*'(.*\$)'\);/\1$DB_NAME/" "C:/Apache24/htdocs/test.txt"
运行脚本和test.txt
确实得到了修改,尽管不是以我试图实现的方式进行。 实际上,文件中没有任何变化。
对于上述常量,与sed
结合使用的正确搜索和替换正则表达式是什么?
使用GNU sed:
sed -i "s/define('DB_NAME', '.*');/define('DB_NAME', 'foobar');/" file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.