Para filtrar as linhas com números diferentes de valores delimitados por vírgulas nos campos 3 e 4:
awk '{ nc3=split($3,a,","); nc4=split($4,a,",") } nc3 == nc4' data.in
A awk
function split
dividirá o campo determinado na expressão regular em seu terceiro argumento (uma vírgula neste caso) e armazenará os campos gerados na matriz em seu segundo argumento ( a
here). Nós não usamos o array resultante, mas usamos o focus que split
também retorna o número de entradas de array geradas.
Se esses números ( nc3
e nc4
) forem idênticos, a linha será impressa.