Введение в Unix

       

Подстановка образца текста


Подстановка образца текста выполняется командой s (substitute), в которой указывается искомый образец и заменяющий образец, например:

: s/eed/ace/ int space;

Эта команда выполняет замену первого вхождения искомого образца в текущей строке.

Для замены всех вхождений в строке надо добавить флаг g (global - глобальный) в конце команды:

: s/wine/water/g water = water + shugar

Чтобы выполнить подстановки в нескольких строках, надо добавить префикс адресации или поиска строк по образцу. Например:

: 1,10s/wine/water/g или

: 1, $s/wine/water/g

Примеры поиска по образцу:

: g/speed/s/eed/ace/g или

: g/speed/s//space/g.

В последнем случае искомый образец берется из буфера искомого образца.

Возможен интерактивный режим выполнения глобальной команды подстановки, при котором редактор для каждой найденной строки перед выполнением подстановки требует подтверждения ее необходимости в форме ввода буквы y (yes). Для интерактивной формы в команде требуется использовать ключ c (confirmation):

: g/eed/s//ace/gc int speed; ^^^ y real need; ^^^ d = speed x time; ^^^ y output (speed); ^^^ y

Здесь три замены произведутся, а одна - нет.



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