/^$3/
é uma expressão regular que garante que nunca coincide corresponde a registros que possuem 3
após o final do registro (o operador% âncora regular corresponde ao final do assunto, para não ser confundido com o $
$
operador que é usado para excluir os campos por número).
Para testar se o terceiro campo ocorre no início do quarto campo, pode-se fazer uma correspondência de expressão regular com awk
, que retornará a posição inicial da correspondência (ou -1 se nenhuma correspondência for encontrada) :
awk -F ':' 'match($4, $3) == 1 { ..."GOOD"... ; next } { ..."BAD"... }'
ou, para uma comparação de strings,
awk -F ':' 'substr($4, 1, length($3)) == $3 { ..."GOOD"... ; next } { ..."BAD"... }'