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”。如果是这样,那么我知道我的结果是好的