shell 验证单个 awk 变量的脚本
shell scripting validating a single awk variable
{gsub(/[ \t]+$/, "", ); length() < 9 || length() > 12 } {print } {print length()} { fails4++ }
所以我上面有这部分应该验证第 4 个字段因此 ($4) 如果长度 < 9 或者如果长度大于 11 个字符它应该验证失败......即使在我打印长度之后我得到 11 个字符,我将验证设置为大于 12,但它仍然失败
我想做的是正确考虑字段的长度,如果 $4 字段中有任何空格,它应该 trim 并获取长度,如果小于 9 或则失败大于 11 个字符
length() < 9 || length() > 11 {print } {print length()} { fails4++ }
听起来你想要:
{gsub(/^[[:space:]]+|[[:space:]]+$/, "", ); lgth=length()} lgth < 9 || lgth > 11{print , lgth; fails4++}
如果没有,post 一些示例输入和预期输出。
{gsub(/[ \t]+$/, "", ); length() < 9 || length() > 12 } {print } {print length()} { fails4++ }
所以我上面有这部分应该验证第 4 个字段因此 ($4) 如果长度 < 9 或者如果长度大于 11 个字符它应该验证失败......即使在我打印长度之后我得到 11 个字符,我将验证设置为大于 12,但它仍然失败
我想做的是正确考虑字段的长度,如果 $4 字段中有任何空格,它应该 trim 并获取长度,如果小于 9 或则失败大于 11 个字符
length() < 9 || length() > 11 {print } {print length()} { fails4++ }
听起来你想要:
{gsub(/^[[:space:]]+|[[:space:]]+$/, "", ); lgth=length()} lgth < 9 || lgth > 11{print , lgth; fails4++}
如果没有,post 一些示例输入和预期输出。