Emacs для начинающих

Функция контекстной замены


Формат:

(2)s/< Регулярное выражение > /< Замена > /< флаги >

Функция s заменяет вхождение < Регулярного выражения > в pattern space на < Замену > .

< Регулярное выражение > : Аналогично выше данному, но может быть заключено не в "/ /" а в любые другие символы (не " " (пробел) и не newline ).

< Замена > : Любой набор символов. Используются специальные символы:

"& " - Заменяется на строку, указанную в регулярном выражении.

"\d" - , где d - цифра, указывает на d -тое выражение, заключенное в "\(","\)" в регулярном выражении.

< Флаги > :

g - Глобальная замена: заменить все вхождения в строке.

p - Печатать (выводить на output ) строки, в которых была осуществлена замена.

w wfile - Выводить в файл wfile строки, в которых была осуществлена замена.

Примеры:

s/to/by/w changes - Заменить в тексте первое вхождение "to" в каждой строке, если таковое есть, на "by" и измененные строки сохранить в файле "changes" .

/iiii/s/[Oo]lga/ Olga V.Galina/p - Заменить в тексте, в строках, где встречается вхождение "iiii" , первое вхождение подстроки "olga" или "Olga" на " Olga V.Galina" , при этом измененные строки выводить на печать.

s/[.,;:?]/*sign& *sign& **/g - Заменить в тексте каждое вхождение одного из знаков ".,;:?" в строку на "*sign& *" , где & будет тем знаком, который стоял прежде, например, "." на "*sign.*" , "?" на "*sign?*" и т. д.



Содержание раздела