我需要匹配文档第一行中的模式。字段分隔符是“:”,当不遵循模式时我想收到错误消息。我需要区分有空格和没有空格的字段。我使用这样的东西:
awk -F ":" '{if (($1 ~/^@[A-Za-z0-9]*/) && ($2 ~/[0-9]*/) && ($3 ~/[0-9]*/) && ($4 ~/[0-9]*/) && ($5 ~/[0-9]+/)){print "ok"} else { print "no"}}'
如果
$1
是
"AAABBBF43T5Y"
即使是
"AABBBF 43T5Y"
当 $1 或其他字段中有空格时,我需要得到“否”。
有什么建议么?
好的,这有点令人困惑。
我有这样的事情:
@HWUSI-EAS100R:6:73:941:1973#0/1
我想检查每个字段。第一个可以包含任何字符,第二个可以包含数字等。但是空格是不允许的,所以它是不正确的,例如:
@HWUSI-E AS100R:6:73:9 41:1973#0/1
感谢您的反馈,很抱歉让您感到困惑。