假设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}}一起使用的搜索和替换的正确正则表达式是什么?
答案 0 :(得分:2)
使用GNU sed:
sed -i "s/define('DB_NAME', '.*');/define('DB_NAME', 'foobar');/" file