Сед - как мне сделать это "один лайнер"?

Я хотел бы для этого сценария:

#!/bin/sh

cat source.txt | sed "/replace_text_holder/ {
r file.txt
d
}" | cat

пишите так:

cat source.txt | sed "/replace_text_holder/ { r file.txt d }" | cat

но это не работает Кто-нибудь знает почему и / или как это исправить?

В настоящее время меня преследует эта ошибка:

unbalanced "{"

Я попытался вставить "\n", чтобы убедиться, что есть новая строка, но это не работает.

Очевидно, я понятия не имею, что я делаю...

1 ответ

Решение

Попробуй это:

sed -e '/replace_text_holder/{r file.txt' -e 'd}'
Другие вопросы по тегам