Язык обработки данных AWK

       

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


Формат:

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

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

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

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

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

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

&lt Флаги &gt :

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&amp *sign&amp **/g - Заменить в тексте каждое вхождение одного из знаков ".,;:?" в строку на "*sign&amp *" , где &amp будет тем знаком, который стоял прежде, например, "." на "*sign.*" , "?" на "*sign?*" и т. д.



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