我有这个 Makefile,它有一个名为“MODULES”的变量,它列出了我在构建中激活的所有模块。
这个列表由空格分隔,所以当我这样做时它看起来像这样echo $(MODULES)
:
module1 module2 module3 module4 mod5 mod6 mod7 module8 module9
我想做的是在编译时显示的某些列中显示此列表。
像这样:
Modules activated:
module1 module2 module3
module4 mod5 mod6
mod7 module8 module9
理想情况下,withs 列将调整为该列中最大模块的宽度(请参阅 参考资料mod7
);列数会根据当前终端的宽度进行调整。
现在,我发现了一些似乎可以做到这一点的 unix 实用程序,例如column,但我无法使其与我的集合一起使用。
你有什么技巧可以让我这样做吗?
编辑:
有了下面选择的答案,我终于在我的 Makefile 中破解了这个命令:
@printf '%s\n' $(MODULES) | sort | column