我使用Makefile生成一个C头,并希望做这样的事情:
printf '{%s, %s}\n' $(ARRAY1) $(ARRAY2)
除了散布ARRAY1
和ARRAY2
中的值。
以下是一个例子:
ARRAY1 := a b c d
ARRAY2 := e f g h
期望的输出:
{a, e}
{b, f}
{c, g}
{d, h}
仅限GNU的解决方案很好。
答案 0 :(得分:0)
我使用join
和替换引用的组合解决了这个问题(虽然可以使用patsubst
代替):
printf '{%s}\n' $(join $(ARRAY1),$(ARRAY2:%=,%))
它产生足够接近我想要的东西,只是在逗号后面缺少空格。
答案 1 :(得分:0)
看看gmtt - The GNUmake table toolkit。 它有一个"join tables"函数可以做你想要的,假设你使用gmtt表(除了列数作为前导元素的列表)。