2011-09-21 24 views
1

我試圖找到並使用sed替換一些文本。具體來說,我試圖圍繞一個可能包含空格的變量添加引號。引用和sed問題

sed -i 's/$VAR some.file/"$VAR" some.file/g' path/to/file 

不幸的是,結果不是預期的。我也嘗試過反引號,沒有運氣。我在這裏錯過了什麼?

sed命令在Windows/cygwin下執行。

回答

2

你錯過了一個事實,即單引號防止變量代換:

sed -i "s/$VAR some.file/\"$VAR\" some.file/g" path/to/file 

甚至

sed -i $(printf 's/%s some.file/"%s" some.file/g' "$VAR" "$VAR") path/to/file