Использование sed для замены текста с содержимым другого файла - PullRequest
0 голосов
/ 29 апреля 2018

Я хотел бы использовать sed для замены текста 1 из файла 1 содержимым файла 2 (одна строка с номером, например, 100). Мой сценарий:

sed -e "/text1/r file2.txt" file1.txt > new.txt

Однако вместо получения

ZZZZ 100

Я получаю

ZZZZ text 1

100

Что не так, пожалуйста?

1 Ответ

0 голосов
/ 29 апреля 2018

http://www.grymoire.com/Unix/Sed.html#uh-37 говорит, что r "вставит файл после строки со словом"

с GNU и Bash вы можете пойти так:

cat file2.txt | xargs -I {} sed 's/text 1/{}/' file1.txt

или как это

sed "s/text 1/$(cat file2.txt)/" file1.txt

Другие оболочки и версии sed и xargs могут делать что-то подобное.

...