如何用Makefile中的其他文件内容替换字符串

时间:2017-02-06 12:23:13

标签: regex shell makefile

我有一个包含include行的文件,我想读取文件路径并将此行替换为文件内容。

e.g。将内容<!-- include(path/filename.txt) -->

替换为path/filename.txt
# meta info
- a
- b

# included files
<!-- include(path/filename.txt) -->

我的Makefile:

expand-includes:
    @echo "Expand all included file"
    perl -pi -e "s/<!--\s?include\((.+)\)\s?-->/`cat $$1`/" input.txt

捕获组看起来为空$$1并且脚本挂起。 我想念一下吗?

更新: 删除$(shell)

1 个答案:

答案 0 :(得分:0)

以下语法效果很好。

perl -p -e 's/<!--\s?include\((.+)\)\s?-->/`cat $$1`/e' input.txt > output.txt