Как я могу добавить пространство удержаний из пространства шаблонов, не вставляя новую строку в пространство удержаний с помощью sed?

Команда sed 'H' добавляется из patternspace в holdspace после добавления новой строки в holdspace первым.

Как я могу добавить, не вставляя новую строку в удерживающее пространство?

1 ответ

Есть несколько приемов, и это зависит от ваших целей. Например, вы можете использовать h для первой строки и удаляйте новую строку после каждого H или в конце ввода ...

Удаление для каждого добавления:

      seq -w 10 | sed -n 'H;x;s/\n//g;x;${x;p}'

Удаление в конце:

      seq -w 10 | sed -n '1h;1!{H};${x;s/\n//g;p}'

Уловка заключается в использовании x (замените содержимое пробелов удержания и шаблонов) и удалите новую строку.

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