Usando awk
para contar o número de vezes que o segundo campo delimitado por vírgula no arquivo começa com a string TY
seguida por um dígito:
awk -F, '$2 ~ /^TY[[:digit:]]/ { n++ } END { print n }' filename
Gostaria de saber se usar cut
em combinação com grep
seria rápido? Cortar a segunda coluna daria grep
a menos de dados para trabalhar e, portanto, pode ser mais rápido do que apenas grep
.
cut -d, -f2 filename | grep -c '^TY[[:digit:]]'
... mas não tenho certeza.
Após alguns testes no meu sistema OpenBSD, usando um arquivo de 1.1GB, o cut
+ grep
é na verdade quase 50% mais rápido que awk
(8 segundos vs. 15 segundos). E uma solução grep
pura ( grep -Ec '\<TY[0-9]' filename
, tirada da solução da glenn ) leva 13 segundos.
Portanto, se a string é escolhida apenas do segundo campo, pode-se ganhar algum tempo extraindo apenas esse campo antes de combinar.