我有一个内容如下的文件,并希望将内容验证为
1.我有 rec $ NUM 条目,此字段只能重复7次。 例如,我有rec1.any_attribute这个rec1应该只在整个文件中出现7次。
2.我需要验证脚本。 如果 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=
请帮助
先谢谢... :)
答案 0 :(得分:2)
简单awk
:
awk -F: '/^rec/{a[$1]++}END{for(t in a){if(a[t]!=7){print "Some error for record: " t}}}' test.rc
答案 1 :(得分:0)
grep '^rec1' file.txt | wc -l
grep '^rec2' file.txt | wc -l
grep '^rec3' file.txt | wc -l
以上所有都应该返回7.
答案 2 :(得分:0)
命令:
grep rec file2.txt | cut -d':' -f1 | uniq -c | egrep -v '^ *7'
如果文件遵循您的规则,将成功,如果没有,则失败(并返回失败的记录)。
(替换" uniq -c"按"排序-u"如果记录号可以混合使用。)