首页 > 解决方案 > 使用 m4 包含文件内容而不处理它们?

问题描述

我知道使用 GNU m4 是可能的undivert,而在其他实现中使用paste. 但是有没有办法做到这一点而不是特定于实现的?

标签: m4

解决方案


syscmd您可以使用宏调用外部命令。

syscmd(`cat hello.c')dnl

注意: M4 会扫描从字面上插入的文本,因此您无法手动复制文件的内容。

$ m4 foo
define(`foo', `FOO')dnl
divert(`1')dnl
foo
divert`'dnl
The quick brown fox jumped over the lazy dog.
undivert(`1')dnl
=> The quick brown fox jumped over the lazy dog.
=> FOO

推荐阅读