Вставка новой строки в середине строки в ed (редактор)

Предположим, я открыл текстовый файл в ed, и текущая строка выглядит так:

This is sentence one. Here starts another one.

Теперь я хочу поставить новую строку после one. так, что новое предложение начинается с Here starts занимает следующую строку.

Как мне это сделать в Эд?

2 ответа

Решение

Вы используете s Команда сделать замены. Формат такой:

s/pattern/replacement/

Чтобы включить новую строку в замену, добавьте обратную косую черту, затем нажмите клавишу возврата:

s/one. /one.\
/

Где вы буквально нажимаете возврат, а не включаете \r или же \n,

Ты можешь сделать

t.
s/text_before/
-s/text_after/

Пояснение:

  1. t. копирует строку, чтобы получить две последовательные одинаковые строки, каждая из которых содержит исходный текст.
  2. Измените вторую строку, чтобы она содержала только нужный текст после добавленной новой строки.
  3. Сделайте то же самое для 1-й строки для текста, который вы хотите перед новой строкой.

ПРИМЕЧАНИЕ. Префикс "-" означает, что нужно сделать это для предыдущей (текущей адресуемой) строки.

Используйте следующую команду в ed:

s/\. /\.\
/

Имейте в виду, что есть две линии.

С помощью 1,$p вы увидите ожидаемый результат.

Другие вопросы по тегам