русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Команды поиска и замены строк


Дата добавления: 2015-07-09; просмотров: 536; Нарушение авторских прав


Для поиска строки по шаблону можно воспользоваться следующими коман- дами:

r /шаблон — для поиска с текущей позиции до конца файла;

r ?шаблон — для поиска с текущей позиции в начало файла.


 

Эти команды установят курсор на начало первой найденной строки, удовле- творяющей шаблону. Для продолжения поиска надо набрать команду n.

Поиск с заменой найденных строк в vi осуществляется с помощью команды режима последней строки :s/шаблон/замена/.

Для демонстрации команд замены текста здесь использован текст, приведен- ный в примере 7.1.

 

Пример 7.1. Исходный текст

 

The top ten & ten CC. The best Ten in the World of tens. Another ten.

Another Ten.

 

 

В приведенном тексте несколько раз встречается слово ten, а также Ten.

Предполагается, что курсор находится в первой строке текста.

Для замены в текущей строке первого вхождения строки ten на 10 следует ввести команду, приведенную в примере 7.2.

 

Пример 7.2. Поиск и замена строк

 

:s/ten/10/

 

 

В результате команды из примера 7.2, получим текст, показанный в приме- ре 7.3.

 

Пример 7.3. Текст после замены слова ten на строку 10

 

The top 10 & ten CC. The best Ten in the World of tens. Another ten.

Another Ten.

 

 

Первое вхождение строки ten было заменено на 10 в текущей строке, но не в других строках. Обратите внимание: было заменено именно первое вхож- дение строки.

Если же необходимо в текущей строке заменить все вхождения, а не только первое, то в конец этой команды надо добавить модификатор g (от англ. go) (пример 7.4).


 

Пример 7.4. Поиск всех вхождений шаблона в строке

 

:s/ten/10/g

 

Результат работы команды из примера 7.4 показан в примере 7.5.



 

Пример 7.5. Текст после замены всех вхождений ten строкой 10

 

The top 10 & 10 CC. The best Ten in the World of 10s. Another ten.

Another Ten.

 

Бывает необходимо заменить строки без учета их регистра, например, ten

и Ten на 10. Это позволяет сделать модификатор i (пример 7.6).

 

Пример 7.6. Поиск и замена с игнорированием регистра

 

:s/ten/10/i

 

В примере 7.7 показан текст после выполнения команды из примера 7.6.

 

Пример 7.7. Текст после поиска с игнорированием регистра

 

The top 10 & 10 CC. The best 10 in the World of 10s. Another ten.

Another Ten.

 

Для замены в нескольких строках в приведенные выше команды требуется добавить указание диапазона поиска. Например, для поиска по всему файлу и замены всех вхождений искомой строки можно ввести команду, приведен- ную в примере 7.8.

 

Пример 7.8. Поиск всех вхождений строки по всему файлу

 

:%s/ten/10/gi

 

Оператор % указывает диапазон поиска — весь файл. Модификатор i добав- лен для игнорирования регистра при поиске.

В результате выполнения команды из примера 7.8 текст будет выглядеть так, как это показано в примере 7.9.


 

Пример 7.9. Текст после замены строк по всему тексту с игнорированием регистра

 

The top 10 & 10 CC. The best 10 in the World of 10s. Another 10.

Another 10.

 

Диапазон поиска можно указывать:

r номерами начальной и конечной строк, например: :3,5s/ten/10/;

r номером конечной строки для замены с текущей строки: :,5s/ten/10/;

r смещением от текущей строки: :,+5s/ten/10/;

r символом конца файла: :3,$s/ten/10/.



<== предыдущая лекция | следующая лекция ==>
ЗАДАНИЯ | Команды режима двоеточия


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.