shell脚本验证单个awk变量

时间:2015-02-27 17:40:33

标签: shell awk

{gsub(/[ \t]+$/, "", $4); length($4) < 9 || length($4) > 12 } {print $4$1} {print length($4)} { fails4++ }

所以我上面有这个部分应该验证第4个字段($ 4)if if lenght&lt; 9或者如果lenght大于11个字符,它应该不通过验证...即使我打印长度后我得到11个字符并且我将验证设置为大于12但它仍然失败

我想要做的是正确地考虑字段的长度,如果$ 4字段中有任何空格它应该修剪并获得长度并且如果它少于9个或更多11个字符则失败

length($4) < 9 || length($4) > 11 {print $4$1} {print length($4)} { fails4++ }

1 个答案:

答案 0 :(得分:1)

这听起来像你想要的:

{gsub(/^[[:space:]]+|[[:space:]]+$/, "", $4); lgth=length($4)} lgth < 9 || lgth > 11{print $4 $1, lgth; fails4++}

如果没有,请发布一些样本输入和预期输出。