2010-12-17 37 views
2

我打電話sed的sed從我Makefile,這行不工作:單引號字符在Makefile文件

sed -i -r 's|^(3)$|5|' file; 

這是完全正常的,如果我從終端調用,但GNU使報告以下錯誤:

sed: -e expression #1, char 8: unterminated `s' command

任何想法,我可以解決這個問題,並且你能提供關於如何處理字符串的Makefile的任何手冊?謝謝。

回答

8

$在makefile中有特殊的含義。使用$$取消它:

sed -i -r 's|^(3)$$|5|' file; 
+0

謝謝!這解決了我的問題。是否有一些手冊可以跟隨Makefiles中的特殊字符以及'make'處理字符串的過程? – 2010-12-17 15:43:45

+0

@Ryan很高興幫助你。 [GNU make](http://www.gnu.org/software/make/manual/make.html)。 – khachik 2010-12-17 15:49:46