我正在尝试使用SED搜索并使用/tmp/dictionary.txt的内容替换“REPLACEME”。
我已经尝试过在堆栈溢出时提到的一些其他解决方案,但是它们不断抛出错误: sed:3:“#REPLACEME
谢谢!
我正在使用的脚本:
#!/bin/bash
sed '# <string>REPLACEME</string># {
r /tmp/dictionary.txt
}' /tmp/plaintext.plist > palintext_ammended.plist
答案 0 :(得分:2)
这应该有效:
sed -e '/<string>REPLACEME<\/string>/r /tmp/dictionary.txt' -e '//d' /tmp/plaintext.plist
sed仅允许s
(替换)命令的替代分隔符。对于#
,它将忽略命令的其余部分,可能将其视为注释。
答案 1 :(得分:1)
这可能适合你(GNU sed):
sed -e '/REPLACEME/{s//\n/;P;e cat dict.txt' -e 'D}' plain.txt