Makefile 检查Make中的文件内容

Makefile 检查Make中的文件内容,makefile,Makefile,我正在做一些数据验证。基本上,我有一个文件列表,我想确保它们是一致的。为了使文件保持一致,它们需要与出现的次数相匹配 grep -c ValidId file.????.txt wc -l < output.????.txt grep-c有效文件.txt wc-l

我正在做一些数据验证。基本上,我有一个文件列表,我想确保它们是一致的。为了使文件保持一致,它们需要与出现的次数相匹配

grep -c ValidId file.????.txt
wc -l < output.????.txt
grep-c有效文件.txt
wc-l<输出.txt
如果两者都匹配,我想创建一个完成的文件,这样我就不必再次检查。这将是我的Makefile中用于数据验证的例程


我该怎么做呢?

模式匹配
%
可以在规则中的多个依赖项中使用。可以使用它来跟踪一致的文件,这样运行make和更正错误将只检查尚未一致的文件:

FILES=$(wildcard file.????.txt)
RES_FILES=$(FILES:file.%=.result.%)

all: $(RES_FILES)

.result.%.txt: file.%.txt output.%.txt
    if [ `grep -c ValidId < file.$*.txt` -eq \
         `wc -l < output.$*.txt` ]; then \
       touch $@ ; \
    fi

clean:
    @rm -f $(RES_FILES)
FILES=$(通配符文件.txt)
RES_FILES=$(FILES:file.%=.result.%)
全部:$(RES_文件)
.result.%.txt:文件。%.txt输出。%.txt
如果[`grep-c ValidId
模式匹配
%
可用于规则中的多个依赖项。可以使用它来跟踪一致的文件,这样运行make和更正错误将只检查尚未一致的文件:

FILES=$(wildcard file.????.txt)
RES_FILES=$(FILES:file.%=.result.%)

all: $(RES_FILES)

.result.%.txt: file.%.txt output.%.txt
    if [ `grep -c ValidId < file.$*.txt` -eq \
         `wc -l < output.$*.txt` ]; then \
       touch $@ ; \
    fi

clean:
    @rm -f $(RES_FILES)
FILES=$(通配符文件.txt)
RES_FILES=$(FILES:file.%=.result.%)
全部:$(RES_文件)
.result.%.txt:文件。%.txt输出。%.txt
如果[`grep-c ValidId
您的意思是希望一个文件包含一致的文件对列表吗?或者对于每个一致的文件对(
file.foo.txt
output.foo.txt
),您想要这样一个文件(
foo.done
)?我正在进行验证检查。生成file.foo.txt需要很长时间。output.foo.txt很容易生成。我想比较file.foo.txt是否有相同数量的“ValidId”。若是这样,那个么我知道我的结果是好的。你们的意思是你们想要一个包含一致的文件对列表的文件吗?或者对于每个一致的文件对(
file.foo.txt
output.foo.txt
),您想要这样一个文件(
foo.done
)?我正在进行验证检查。生成file.foo.txt需要很长时间。output.foo.txt很容易生成。我想比较file.foo.txt是否有相同数量的“ValidId”。如果是这样,那么我知道我的结果是好的