2014-05-23 62 views
1

我想在'string'后面使用变量THIS打印新文件。使用变量打印新行sed使用变量

sed -i '' 'string/a\ 
${THIS} 
' "${f}" 

它从字面上打印“$ {THIS}”到文件中。我已经使用双引号sed的尝试,但导致的错误信息:

“的sed:1:” ...“:指挥预计\后跟文本”

我也试着给谷歌这和一直在浏览这个优秀的论坛,但无法找到任何东西。

有什么想法吗?谢谢!

回答

2

它应该是这样的:

THIS="foo" 
sed 's/string/string\n'"${THIS}"'/g' file.txt 

顺便说一句,如果你不确定我建议你使用-i选项要小心。我会用sed命令播放,直到我敢肯定,然后才用-i如果要更换一个字符串(无正则表达式)(这将覆盖原文件)


,该replace命令可能会更好比sed在这里:

replace string "string"$'\n'"${THIS}" file.txt 
+0

第一个作品,但我想插入一个新的行后匹配'字符串'行。对不起,如果我不清楚! – user2358929

+0

好的。检查我的更新 – hek2mgl

+0

不得不修改,因为在MacOSX上添加换行符并不那么简单,但它的工作原理!非常感谢,hek2mgl! – user2358929