Makefile中sed的单引号字符串

Rya*_* Li 2 makefile sed

我打电话sed给我Makefile,这条线不起作用:

sed -i -r 's|^(3)$|5|' file;
Run Code Online (Sandbox Code Playgroud)

如果我从终端打电话,那就完全没问题了,但是GNU make报告了以下错误:

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

任何想法如何解决这个问题,你能提供有关Makefile如何处理字符串的任何手册吗?谢谢.

kha*_*hik 8

$在makefile中有特殊含义.使用$$取消它:

sed -i -r 's|^(3)$$|5|' file;
Run Code Online (Sandbox Code Playgroud)