假设test.txt
包含:编辑配置文件的sed
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'pass');
我想编辑使用bash脚本上面的文件。我会运行脚本,并用'foobar'
替换'wordpress'
。下面是我有迄今:
#!/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
一起使用的搜索和替换正确的正则表达式是什么?
这个问题并没有表现出任何的研究工作。 – melpomene
我大部分时间都在这里度过了吗? – cookie
你的问题的形式是“*这是一些随机代码,它不工作大声笑*”。您可以通过分别查看每个部分来改进它,解释您的想法(可能包括指向手册的链接)。此时,您可以验证每个部分以确保您的理解符合现实。然后你可以自己调试它,并可以提出一个更好的问题。 – melpomene