使用bash和sed编辑配置文件

时间:2017-02-19 15:33:19

标签: bash sed

假设define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'pass'); 包含:

'wordpress'

我想使用bash脚本编辑上面的文件。我运行脚本并将'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 进行修改,但不是我想要实现的方式。事实上,文件中没有任何变化。

对于上述常量,与{{1}}一起使用的搜索和替换的正确正则表达式是什么?

1 个答案:

答案 0 :(得分:2)

使用GNU sed:

sed -i "s/define('DB_NAME', '.*');/define('DB_NAME', 'foobar');/" file
相关问题