Aninhadas if
declarações são efetivamente declaração and
declaração , então se você não precisa fazer nenhum processamento em particular enquanto avança pelo aninhamento, então você pode apenas juntar todos eles com &&
.
awk '{ if( ( $4 == "TRX" || $4 == "TX" ) &&
( $10 == "BTS INT UNAFF" || $10 == "LOCAL MODE" ) &&
( $12 != "OPER" && $12 != "" ) && # Second Value should not be blank
( $22 != "2000") &&
( !match( $1, "_") ) ) # Should not contain _ in the value.
{ print }
}' FS=, file
Para definir seu separador de campo, você pode usar a opção -F,
em vez do parâmetro FS=,
se preferir - ou tê-lo totalmente contido dentro do awk
código, no bloco BEGIN{ }
de processamento de pré-arquivos: BEGIN{ FS="," }