M4:如何从脚本后跟文件中删除前导空格?

时间:2019-06-08 13:04:44

标签: bash m4

如果我有一个包含许多命令的m4脚本:

define(this, that)
define(or,this)
define(other,thing)

我打电话:

$: m4 script.m4 my_file

输出为:

# N newlines for the N commands in the script
# first line of my file

是否可以禁止调用N newlines时脚本读入导致的m4,还是我必须将其包装在某些调用命令中(例如sedgrep)?

1 个答案:

答案 0 :(得分:1)

您可以使用dnl宏删除define的新行。例如。来自this tutorial

  

define宏本身(包括其两个参数)扩展为   空字符串,即不产生任何输出。但是换行符在   上面AUTHOR定义的末尾将回显到输出。   如果在输出中添加空白行是一个问题,则可以取消   使用“删除到换行符”宏:

 define(AUTHOR, W. Shakespeare)dnl
     

宏的末尾和dnl之间没有空格:如果存在   那么该空间将被回显到输出。