Eu usaria cut
cat myfile.txt | cut -d '|' -f 12 | grep -c 1
Eu sou relativamente novo em expressões regulares e estou procurando por um comando sed / awk / grep / wc para encontrar o seguinte em um arquivo de texto delimitado por pipe, o número de ocorrências do dígito 1 após o 12º canal.
Aqui está um exemplo do arquivo de texto:
2|JOHN||HAY||2955|ROSE|ST|#39D|Tool|TX|769065589|2542444320|||2222299310|SSD||01/08/2014^M
8|ALEN|BOBRISE|FITZGERALD||5432|Red|Ave|Apt 253|Bloomington|MN|559322972||9582544754|||MINNESOTA JIL|MN|01/08/2014^M
Minha preferência é sed ou wc, já que é com isso que eu estou mais familiarizado, mas vou pegar o que puder.
com awk
:
awk -F'|' '$13 ~ /^1/{count++} END{print count}'
Opção única grep
com -P
erl compatível:
grep -Pc '^([^\|]*\|){12}\K1' file