2013-05-25 3 views
6

У меня длинная строка со многими запятыми. Я хотел бы узнать количество запятых в строке. Как я могу это сделать с помощью vim?Получить vim для отображения числа запятых в одной строке

Кроме того, я хочу сделать это для символов, отличных от запятой.

Задание номера строки и символа должно дать мне количество вхождений этого символа.

, например:

:charmap/50/, 

должен дать мне число запятых в строке 50.

ответ

13

Просто сделайте поиск и сосчитать совпадений:

:s/,//gn 
0

Не знаю о VIM, но я получить желаемый результат, как показано ниже.

# cat t.txt 
,,,, ,, ,, ,, 
,, , ,,,, 
,, 
,, 
, 

    ,,,,, 

и вот как я считаю отсутствие. запятых в каждой строке:

# sed 's/[^,]//g' t.txt | awk '{ print length }' 
10 
7 
2 
2 
1 
0 
5 
5
:s/,//gn 

сообщает количество , на текущей строке, не делая замену

:50s/,//gn 

делает то же самое для линии 50.

См. :h s_flags за /n.

Смежные вопросы