繁体   English   中英

使用bash和sed编辑配置文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM