Experimente awk -F, '{if (NF != 8) print NR}' file_name
. O -F, é um separador de campo. Com 7 vírgulas existem 8 campos (NF Number Fields) e NR é (Number Record) o número atual do registro.
Temos um arquivo CSV com mais de 50000 linhas. Este é apenas um exemplo do conteúdo:
Dcccrev,wefrwvfr,rfregt,wr4f,rfvrv,ecxwec,ecfrv,rfrf
Grge,gtgr,frfrv,gthtgv,gerg5tgvrt,rvrfvtg,tgt,frfrf,rfrf
Drfrfr,t,tgtg,rf,rgr,grtg,tgt,gtgtg,rg
.
.
.
Minha tarefa é: quando o número de separadores "," em uma linha não é igual a 7, o número da linha deve ser impresso.
É possível criar um awk ou perl one liner para esta tarefa, sem usar echo ou cat?
Experimente awk -F, '{if (NF != 8) print NR}' file_name
. O -F, é um separador de campo. Com 7 vírgulas existem 8 campos (NF Number Fields) e NR é (Number Record) o número atual do registro.