【发布时间】:2015-09-14 23:35:10
【问题描述】:
我一直在尝试通过 sed 命令但没有成功。
这是我尝试使用的 sed 命令;
sed -i "/<\/Testing>/i '<Tester>$VAR</Tester>'" filename
我不断收到a unknown command: <...我知道为什么,但没有运气。单引号没问题,但不显示 $VAR 值,只显示文字字符串。
对于不太熟悉sed 的读者,这是一个正则表达式后跟一个i 命令,而不是"s%<Testing>%$VAR%" 替换的草率错误输入。 i 命令在匹配行之前插入一个字符串。换句话说,当输入匹配</Testing>时,我想在匹配行之前添加一个描述测试用例的sn-p。
【问题讨论】:
-
请edit您的问题显示您的输入样本和所需的输出。您是否尝试执行替换?
-
您似乎没有提供足够的信息。我可以用
VAR=$'<hello>\n</hello>'; sed "/<\/Testing>/i '<Tester>$VAR</Tester>'" <<<$'<Testing>\nmoo</Testing>\n<end>\npoo\n</end>'重现您所描述的内容,但是对于您可能涉及的内容有大量的猜测。