【发布时间】:2012-03-20 11:26:57
【问题描述】:
我正在尝试在 shell 脚本中使用 sed 替换属性文件上的属性;下面列出的命令可以正常工作
sed "s!${KEY}=.*!${KEY}=${NEWVAL}!" infile > outfile
问题 - 这家伙也替换了 cmets 中匹配的“KEY”。
示例文件:
###########
#ws.clients=http://abc123.com
ws.clients=http://123.com
###########
脚本:
#!/bin/ksh
KEY="ws.clients"
NEWVAL="http://abcd.com"
sed "s!${KEY}=.*!${KEY}=${NEWVAL}!" infile > outfile
输出:
###########
#ws.clients=http://abcd.com
ws.clients=http://abcd.com
###########
我尝试了几种方法,但未能成功转义以“#”开头的行...建议?
【问题讨论】:
标签: sed