Нет необходимости перепечатывать целую строку, если в ней нужно заменить лишь несколько символов. Команда подстановки
ss/old/new/ | Заменить первую oldnew |
s/old/new/p | Заменить первую oldnew |
s/old/new/g | Заменить каждую oldnew |
s/old/new/gp | Заменить каждую oldnew |
Заменяется только самое левое вхождение образца в строке, если не написана буква '
gsedpЕсли подстановкой вы не добились того, что хотели, с помощью команды u (аннулировать) можно уничтожить последнюю подстановку. Текущая строка должна быть настроена на преобразованную строку:
u | Аннулировать последнюю сделанную подстановку |
up | Аннулировать последнюю подстановку и напечатать |
Как вам уже известно, командам
pds/old/s/old/new/ | Найти следующую oldnew |
/old/s//new | Найти следующую old |
1 ,$s/old/new/p | Заменить первую oldnew |
1,$s/old/new/gp | Заменить каждую oldnew |
Отметим, что
1,$sgpСимвол
&ss/big/very &/ | Заменить bigvery big |
s/big/& &/ | Заменить bigbig big |
s/.*/(&)/ | Взять в скобки целую строку (см. .* |
s/and/\&/ | Заменить and&\ |
Как и символы
*>:shelleds\с | Любой специальный символ задает совпадение с таким же символом |
\c | Отменяет специальный смысл символа с |
А | Соответствует началу строки, когда ^ |
$ | Соответствует концу строки, когда $ |
. | Совпадает с любым одиночным символом |
[...] | Соответствует одному любому символу в ...a-z |
[^...] | Соответствует любому одиночному символу, не входящему в ... |
r* | Соответствует нулевому или более числу вхождений r[...] |
& | Используется только в правой части s; вставляет фрагмент, совпавший с образом |
\(...\) | Помечает регулярное выражение; найденная строка доступна как \1 |