Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的配置文件中有这对:
TheParameter="TheValue"
我正在尝试从 bash 脚本中替换 TheValue,但没有成功。
sed 's/TheParameter="(.*)"/TheParameter="NewValue"/' /etc/my.conf
任何人都可以提出正确的方法吗?
看这个例子:
kent$ echo 'TheParameter="TheValue"'|sed 's/\(TheParameter="\).*/\1newValue"/' TheParameter="newValue"
sed, 默认情况下,使用基本 RE,其中()不特殊(不捕获或分组)。您要么需要对它们进行转义(\(.*\)),要么使用-E标志(扩展 RE),要么完全删除它们。
sed
()
\(.*\)
-E