ドキュメントの最初の行のパターンを一致させる必要があります。フィールド区切り文字は「:」で、パターンに従わない場合に間違ったメッセージを取得したい。スペースがあるフィールドとないフィールドを区別する必要があります。私は次のようなものを使用します:
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"}}'
私は「OK」を取得します
$1
は
"AAABBBF43T5Y"
たとえそうであっても
"AABBBF 43T5Y"
$1 または他のフィールドにスペースがある場合、「いいえ」を取得する必要があります。
助言がありますか?
OK、それは少し混乱しています。
私はこのようなものを持っています:
@HWUSI-EAS100R:6:73:941:1973#0/1
そして、各フィールドをチェックしたいと思います。最初のものには任意の文字を含めることができ、2 番目のものには数字のみを含めることができます。ただし、空白は許可されていないため、次のようなものは正しくありません。
@HWUSI-E AS100R:6:73:9 41:1973#0/1
フィードバックをお寄せいただきありがとうございます。混乱を招いて申し訳ありません。