コンマがたくさんある長い行があります。一行のカンマの数を知りたいです。vimを使用してこれを行うにはどうすればよいですか?
また、コンマ以外の文字についてもこれを行いたいです。
行番号と文字を指定すると、その文字の出現回数がわかります。
例えば :
:charmap/50/,
50行目のコンマの数を教えてください。
コンマがたくさんある長い行があります。一行のカンマの数を知りたいです。vimを使用してこれを行うにはどうすればよいですか?
また、コンマ以外の文字についてもこれを行いたいです。
行番号と文字を指定すると、その文字の出現回数がわかります。
例えば :
:charmap/50/,
50行目のコンマの数を教えてください。
検索して一致数を数えるだけです:
:s/,//gn
:s/,//gn
,
置換を行わずに現在の行の数を報告します
:50s/,//gn
50行目も同様です。
を参照:h s_flags
してください/n
。
VIMについてはわかりませんが、以下のように望ましい結果が得られます。
# cat t.txt
,,,, ,, ,, ,,
,, , ,,,,
,,
,,
,
,,,,,
これが私がノーを数える方法です。各行のカンマ数:
# sed 's/[^,]//g' t.txt | awk '{ print length }'
10
7
2
2
1
0
5