Como a steeldriver apontou, um único =
é uma operação de atribuição, que resulta em um valor - aquele que você está atribuindo. Se esse valor for positivo (como os números de 18 a 34 são), então a atribuição valor é positiva, o que é "true" no awk.
Basta alterar max = $4
para max == $4
para torná-lo um teste de comparação em vez de uma atribuição.