Количество вхождений в текстовом файле, где первый символ после 12-го канала равен 1?

Я довольно новичок в регулярных выражениях и ищу команду sed / awk / grep / wc, чтобы найти следующее в текстовом файле с разделителями каналов количество вхождений цифры 1 после 12-го канала.

Вот пример текстового файла:

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 

Мое предпочтение – sed или wc, так как это то, с чем я больше всего знаком, но я возьму то, что смогу получить.

3 Solutions collect form web for “Количество вхождений в текстовом файле, где первый символ после 12-го канала равен 1?”

Я бы использовал cut

 cat myfile.txt | cut -d '|' -f 12 | grep -c 1 

С awk :

 awk -F'|' '$13 ~ /^1/{count++} END{print count}' 

Единый grep с опцией -P erl:

 grep -Pc '^([^\|]*\|){12}\K1' file 
  • Удалить определенные номера строк (переданные как переменные) из файла в linux
  • Как сравнить строки в двух файлах
  • Как удалить текстовые блоки в файле журнала?
  • Повторить слова, разбитые символами дефиса и двойной символа новой строки
  • распечатать, если следующая строка содержит
  • sed удалять пространство
  • Извлечь строку, если первое поле содержит точку
  • Печать уникальных строк
  • Шаблоны значений для сценария bash для файлов apache conf
  • Объединение строк текста с повторным началом
  • Каким образом можно извлечь сегмент из текстового файла?
  • Linux и Unix - лучшая ОС в мире.