Para citar a especificação POSIX para o awk:
When an ERE token appears as an expression in any context other than as the right-hand of the
~
or!~
operator or as one of the built-in function arguments described below, the value of the resulting expression shall be the equivalent of:
$0 ~ /ere/
Isso (combinado com o padrão de ação para { print }
) é por que você pode usar awk
como um grep
substituto apenas fazendo awk '/b/' <file
.
Então, a resposta é apenas "está definido para funcionar dessa maneira". /ere/
é definido para significar $0 ~ /ere/
, exceto em determinadas circunstâncias, e /ere/ ~ $1
não é uma das circunstâncias excepcionais, por isso é avaliado como ($0 ~ /ere/) ~ $1
.