make sort - 内置函数

时间:2013-02-26 18:36:46

标签: unix compiler-construction makefile

我想从makefile中对txt文件中的行进行排序。我发现这个排序函数是一个make函数(内置函数)。

$(sort list) 

我的想法:

$(UNSORT) = $(cat input.txt)
$(SORTED) = $(sort $(UNSORT))
@echo $(SORTED) >output.txt

..但这项工作不是:S

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

以这种方式调用sort命令

sort text.txt > output.txt

答案 1 :(得分:0)

在分配期间,您不应使用$()包围变量名称。所以前两个赋值语句的格式应为VARIABLE = some_value

第二个问题是调用cat。要运行任何shell命令,我们必须使用make的内置函数$(shell ...)。一个简单的$(cat ...)不会。

通过这些更正,脚本运行良好:

UNSORT = $(shell cat input.txt)
SORTED = $(sort $(UNSORT))

all:
    @echo $(SORTED) > output.txt