Como fazer uma validação alfanumérica para uma coluna específica (digamos $ 2) de um arquivo usando o awk?

5

Como faço para a validação alfanumérica de uma coluna específica (digamos $2 ) de um arquivo usando o awk?

Por exemplo, tentei:

awk -F, '{if ($10==(/[0-9a-zA-Z]/)) count+=1;} END {print count}' final.csv

Não recebo erros nem resultados.

    
por user64676 08.04.2014 / 14:56

2 respostas

6

Algo como isso deve funcionar:

awk -F, '$10 ~ /^[[:alnum:]]+$/ { count++ } END{ print count+0 }'
    
por 08.04.2014 / 15:00
4

Você pode fazer:

awk '$10 ~ /^[0-9a-zA-Z]+$/ {count++} END{print count}' file

Isso também funciona para mim: verificar de 0 a z , sendo todos os números e letras no intervalo.

awk '$10 ~ /^[0-z]+$/ {count++} END{print count}' file

A ideia é verificar se o campo especificado ( $10 no seu caso) é baseado apenas em um conjunto de caracteres alfanuméricos. Isso é feito usando ^ e $ para indicar o início e o fim do campo.

    
por 08.04.2014 / 15:01

Tags