Как я могу добавить пространство удержаний из пространства шаблонов, не вставляя новую строку в пространство удержаний с помощью 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
(замените содержимое пробелов удержания и шаблонов) и удалите новую строку.