2014-05-23 104 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