Команды, управляемые командами
gvg/thing/.,.+1р | Печатать каждую строку с thing |
g/^\.EQ/.1, /^\.EN/s/alpha/beta/gp | Заменять alphabeta.EQ.EN |
Команда
mt<i>m</i>,<i>n</i>,md | Переместить строки m по n за строку d |
<i>m</i>,<i>n</i>,td | Скопировать строки m по n за строку d |
Если исходные строки не определены, используется текущая строка. Строка назначения
dm,n-1mtm+ | Поместить текущую строку после следующей (переставить) |
m-2 | Поместить текущую строку перед предыдущей |
m-- | То же самое: это то же, что -2 |
m- | Ничего не делать |
m$ | Поместить текущую строку в конец (m0 |
t. | Дублировать текущую строку (t$ |
-,.t. | Дублировать предыдущую и текущую строки |
1,$t$ | Дублировать все множество строк |
g/^/m0 | Инвертировать порядок строк |
Команда
=$=Команда
kcс'ck/.../ka | Найти строку ...a |
/.../kb | Найти строку ...b |
'a,'bp | Печатать целый диапазон, чтобы быть уверенным |
/.../ | Найти нужную строку |
'а,'bm | Поместить выбранные строки после нее |
Строки могут быть объединены с помощью команды
j<i>m</i>,<i>n</i>j | объединяет строки с mn |
jp | Объединить текущую строку со следующей и печатать |
-,.jp | Объединить предыдущую строку с текущей и печатать |
По умолчанию принимается диапазон
.,.+1Строки можно расщепить командой подстановки, отделив новую строку:
s/part1part2/part1\part2/ | Расщепить строку на две части |
s/ /\ /g | Расщепить по каждому пробелу. Оставить одно слово на строку |
Текущей становится последняя созданная строка.
Чтобы манипулировать не только целыми фрагментами, выбираемыми регулярными выражениями, но и их соответствующими частями, используйте помеченные регулярные выражения: если конструкция
\(...\)\1\1\2s/\(...\)\(.*\)/\2\1/ | Поместить 3 первых символа в конец |
/\(..*\)\1/ | Найти строки, содержащие повторяющиеся смежные цепочки символов |
Командам
rw