我想从 makefile 中对 txt 文件中的行进行排序。我发现这个排序函数是一个 make 函数(内置函数)。
$(sort list)
我的想法:
$(UNSORT) = $(cat input.txt)
$(SORTED) = $(sort $(UNSORT))
@echo $(SORTED) >output.txt
..但这行不通:S
有人可以帮忙吗?
只需这样调用排序命令即可
sort text.txt > output.txt
在赋值期间不应使用
$()
包围变量名称。所以前两个赋值语句应该是 VARIABLE = some_value
的形式
第二个问题是调用
cat
。要运行任何 shell 命令,我们必须使用 make 的内置函数$(shell ...)
。简单的 $(cat ...)
是不行的。
完成这些更正后,脚本可以正常运行:
UNSORT = $(shell cat input.txt)
SORTED = $(sort $(UNSORT))
all:
@echo $(SORTED) > output.txt