gpt4 book ai didi

bash - 如何检查列表中的文件是否包含 makefile 中的内容?

转载 作者:行者123 更新时间:2023-12-05 05:20:05 26 4
gpt4 key购买 nike

我想检查是否所有具有特定名称的文件中都有一个字符串,如果没有则报告它们。我写了这个序列并尝试了多个其他序列,但我不知道如何从列表中访问文件的包含。

SOURCES := $(shell find $(SOURCEDIR) -name 'mod.mak')#here I take the list of targeted files (this works fine)
$(foreach File, Files,
$(if $(grep -q "aaabbb" "$File"),,@echo "WARNING Missing sequence")
)

最佳答案

您的脚本有多个问题。

首先是你need some rule/target .对于您的示例,我们可以制作一个 PHONY target 测试。其次,要遍历 SOURCES 中的值,您需要 reference it作为 $(SOURCES)。类似地,$(file) 调用 grep。此外,制作if正在解释值,而不是退出代码,所以你不应该沉默 grep

这样做就可以了:

.PHONY: test

SOURCES := $(shell find "$(SOURCEDIR)" -name 'mod.mak')

test:
$(foreach file,$(SOURCES),$(if $(shell grep "aaabbb" "$(file)"),,@echo "WARNING Missing sequence in $(file)"))

关于bash - 如何检查列表中的文件是否包含 makefile 中的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45055647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com