验证文件记录 shell 脚本

Validating file records shell script

我有一个包含以下内容的文件,我想验证内容为

1.I 有条目 rec$NUM 并且该字段应该只重复 7 次。 例如我有 rec1.any_attribute 这个 rec1 在整个文件中应该只出现 7 次。

2.I 需要为此验证脚本。 如果 rec$NUM 的记录 小于 7 或大于 7,脚本应该报告该记录。

文件如下:::

rec1:sourcefile.name=

rec1:mapfile.name=

rec1:outputfile.name=

rec1:logfile.name=

rec1:sourcefile.nodename_col=

rec1:sourcefle.snmpnode_col=

rec1:mapfile.enc=

rec2:sourcefile.name=abc

rec2:mapfile.name=

rec2:outputfile.name=

rec2:logfile.name=

rec2:sourcefile.nodename_col=

rec2:sourcefle.snmpnode_col=

rec2:mapfile.enc=

rec3:sourcefile.name=abc

rec3:mapfile.name=

rec3:outputfile.name=

rec3:logfile.name=

rec3:sourcefile.nodename_col=

rec3:sourcefle.snmpnode_col=

rec3:mapfile.enc=

请帮忙

提前致谢...:)

grep '^rec1' file.txt | wc -l
grep '^rec2' file.txt | wc -l 
grep '^rec3' file.txt | wc -l

以上都应该return7.

简单awk:

awk -F: '/^rec/{a[]++}END{for(t in a){if(a[t]!=7){print "Some error for record: " t}}}' test.rc

命令:

grep rec file2.txt | cut -d':' -f1 | uniq  -c | egrep -v '^ *7'

如果文件遵循您的规则将成功,否则将失败(并且 returns 失败记录)。

(如果记录编号可以混合,则将 "uniq -c" 替换为 "sort -u")。