【问题标题】:Write Dollar sign in sed command pattern inside makefile在 makefile 中以 sed 命令模式写入美元符号
【发布时间】:2013-11-06 16:03:05
【问题描述】:

我有一个包含此命令的生成文件:

sed '/^$/d'

当我运行它时,我得到了:

sed '/^d'
sed: -e expression #1, char 3: unterminated address regex

看起来它解释了美元符号,我怎样才能防止这种情况发生?

【问题讨论】:

    标签: sed makefile pattern-matching


    【解决方案1】:

    使用$$,它变成$。见Special Characters in a Makefile

    生成文件: sed '/^$$/d'

    learts@Fastidio:~/tmp$ make
    sed '/^$/d'
    

    【讨论】:

      【解决方案2】:

      您必须将配方中的所有美元符号加倍,否则 make 会将它们视为引入了一个 make 变量:

      sed '/^$$/d'
      

      如果您搜索“美元符号 makefile”或类似内容,您将找到数十个甚至数百个几乎这个确切问题的答案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-22
        • 2018-01-15
        • 1970-01-01
        • 2016-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-25
        相关资源
        最近更新 更多