テキストファイル内の12番目のパイプの後の最初の文字が1になる回数は何回ですか?

テキストファイル内の12番目のパイプの後の最初の文字が1になる回数は何回ですか?

私は正規表現に最初に触れ、パイプで区切られたテキストファイルで12番目のパイプの後に数字1が表示される回数を見つけるためにsed / awk / grep / wcコマンドを探しています。

以下はテキストファイルの例です。

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を好みます。それが私が最もよく知っているからです。しかし、得ることができるものを選択します。

答え1

私は使用しますcut

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

答え2

そしてawk

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

答え3

シングルgrepおよび-PErl互換オプション:

grep -Pc '^([^\|]*\|){12}\K1' file

関連情報