make sort - 内置函数

问题描述 投票:0回答:2

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

$(sort list) 

我的想法:

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

..但这行不通:S

有人可以帮忙吗?

unix makefile
2个回答
1
投票

只需这样调用排序命令即可

sort text.txt > output.txt

0
投票

在赋值期间不应使用

$()
包围变量名称。所以前两个赋值语句应该是
VARIABLE = some_value

的形式

第二个问题是调用

cat
。要运行任何 shell 命令,我们必须使用 make 的内置函数
$(shell ...)
。简单的
$(cat ...)
是不行的。

完成这些更正后,脚本可以正常运行:

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

all:
    @echo $(SORTED) > output.txt
© www.soinside.com 2019 - 2024. All rights reserved.