For example; using awk to check whether a text file has exactly following 3 lines:
AA
BB
CC
awk script:
cat $infile | awk '
BEGIN { retcode = 0; rowcount = 3 }
NR==1 { if ( $0 != "AA") { retcode = NR; exit }}
NR==2 { if ( $0 != "BB") { retcode = NR; exit }}
NR==3 { if ( $0 != "CC") { retcode = NR; exit }}
NR>rowcount { retcode = NR; exit }
END { if (retcode != 0) exit retcode; else if (NR != rowcount) exit NR; else exit 0 }
'
Return Value:
=0: file is same
>0: the first line that is not matched.
Please be noticed:
1. the 'exit' statement in 'NR=X' rule will cause control flow come to 'END' section immediately.
2. use 'next' to continue next line

本文介绍了一种使用awk脚本来验证文本文件是否精确包含预定义的三行内容(AA、BB、CC)的方法。通过awk的BEGIN和END部分以及NR变量来实现流程控制,确保文件内容完全匹配。

被折叠的 条评论
为什么被折叠?



