Я хочу найти строку и найти количество вхождений в файле с помощью редактора vi.Найти строку и получить счетчик в редакторе vi
ответ
:g/xxxx/d
Это удалит все строки с рисунком и сообщит, сколько их удалено. Отмените, чтобы вернуть их после.
Конечно, он может просто опустить «d», чтобы он не выполнял операцию. – Rook
Обратите внимание, что это говорит только о том, сколько строк - не сколько случаев. Я думаю, что дирк является лучшим решением. – 2009-04-03 21:06:46
Мое решение ниже правильно подсчитывает множественные вхождения внутри строка и нечего отменить. –
Вам нужен флаг n
. Для подсчета слов используйте:
:%s/\i\+/&/gn
и конкретное слово:
:%s/the/&/gn
См count-items
документации раздел.
Если вы просто ввести:
%s/pattern/pattern/g
то строка состояния будет давать вам количество матчей в VI, а также.
Похоже, что этот ответ предназначен для пользователей Vim, а не для Vi :( – kadeshpa
У вас есть только vi в вашей системе? Какая версия? – dirkgently
Кто-то отметил ваш quesiton с помощью vim в нем ... Я удалил его. – ojblass
Путь
:% S/шаблон // дп
+1 для l и печатать на машинке. – Leafy
Это самый достоверный ответ без использования трюка over-kill. – user1412066
использование
:% s/шаблон/\ 0/г
, когда Строка шаблона слишком длинный, и вам не нравится вводить его снова.
(подобно тому, как Густаво сказал, но дополнительно:)
Для любого ранее поиска, вы можете сделать просто:
:%s///gn
Шаблон не нужен, потому что уже в поиске -регистр (@/
).
«%» - делать s/
во всем файле
«г» - поиск глобальных (с несколькими хитами в одной строке)
«п» - предотвращает любой замена s/
- ничего не удалено! ничего не должно быть отменено!
(см :help s_flag
для получения дополнительной информации)
(Таким образом, он отлично работает с "Искать визуально выделенного текста", как описано в vim-wikia tip171)
Я предлагаю делать:
- Найдите либо
*
, чтобы сделать «ограниченный поиск» для того, что находится под курсором, либо выполнить стандартный поиск/pattern
. - Используйте
:%s///gn
, чтобы получить количество вхождений.Или вы можете использовать:%s///n
, чтобы получить количество строк с вхождениями.
** Я действительно с я мог бы найти плагин, который дает сообщения о «матче N из N на N линию» с каждым поиском, но увы.
Примечание: Не путайте сложную формулировку вывода. Бывшая команда может дать вам что-то вроде 4 matches on 3 lines
, где последний может дать вам 3 matches on 3 lines
. В то время как технически точный, последний вводит в заблуждение и должен сказать «соответствие 3 линиям». Итак, как вы можете видеть, никогда не нужно использовать последнюю форму (только «n»). Вы получаете ту же информацию, более четко и более, используя форму «gn».
- 1. найти и заменить строку в редакторе vi на linux?
- 2. Как удалить конкретную строку в редакторе vi?
- 3. О редакторе Vi и Vim
- 4. Автозаполнение в редакторе Unix VI
- 5. сортировать строки в редакторе 'VI'
- 6. Завершение кода в редакторе Vi
- 7. Как получить имя пользователя в редакторе vi/vim?
- 8. Использование вывода команды оболочки в редакторе VI
- 9. поиск соответствия шаблону в редакторе vi
- 10. запроса, который Найти строку и увеличивает счетчик
- 11. выполнения кода Python в редакторе VI и передачи пользовательского ввода
- 12. vi, найти строку и вывод/вывод для отдельного файла
- 13. перемещения текста на следующую строку в VI
- 14. Как найти и удалить повторяющиеся строки в двух файлах в редакторе vi или linux
- 15. Как искать строку с пробелами и специальными символами в редакторе vi
- 16. Найти и заменить Regex в VI
- 17. Как найти табулятор в VI?
- 18. Выполнить две команды в одной строке в VI редакторе
- 19. Получение символа EURO в редакторе VI в unix
- 20. Написание первой программы c в редакторе vi в cygwin
- 21. Ошибка синтаксиса в For Loop в редакторе Ubuntu Терминала VI
- 22. нужно получить строку, которые имеют счетчик 2
- 23. Поиск определенного слова в файле, открытом в редакторе VI
- 24. Редактирование .cfg оставляет сервер Ubuntu застрял в редакторе vi
- 25. как скопировать из другого файла в редакторе vi
- 26. Заменить строку 5 строк над текущей строкой в редакторе vi в ex-режиме
- 27. Как удалить несколько строк специальных символов в редакторе vi
- 28. Как найти и заменить в текстовом редакторе?
- 29. Найти и заменить в редакторе скриптов Google
- 30. Как изменить сочетания клавиш, используемые в редакторе vi?
Выбранный ответ (': g/xxxx/d') ужасен, опасен и уступает другим на этой странице. Отмените выбор. –
Я согласен, и он говорит только о том, что «строки удалены», а не «случаи удалены» – user1709076