13 我正在寻找一种使用sed将文件中的字符串替换为包含斜杠的字符串的方法。 connect="192.168.100.61/foo" srcText="foo.bar=XPLACEHOLDERX" echo $srcText | sed "s/XPLACEHOLDERX/$connect" 结果是: sed: -e Expression #1, Character 32: Unknown option for `s' sed — 马丁 source
31 在s命令中使用另一个字符作为分隔符: printf '%s\n' "$srcText" | sed "s|XPLACEHOLDERX|$connect|" 或逃避与ksh93的的斜线${var//pattern/replacement}参数扩展运算符(现在也支持zsh,bash,mksh,yash和最新版本的busybox的sh)。 printf '%s\n' "$srcText" | sed "s/XPLACEHOLDERX/${connect//\//\\/}/" — 工作的人 source +1为第二种方式。第一个在freebsd上不起作用。 — 易卜拉欣