perl -pi -e 'BEGIN{local $/; $r = <STDIN>} s/ktr_updater/$r/g
' file < other-file
Editaria file
i
n-place e s
ubstitude cada ocorrência ( g
lobally) de ktr_updater
com $r
, $r
tendo sido rubricado na BEGIN
ning com o que poderia ser lido de STDIN
(de uma só vez, como o delimitador de registro não estava definido, declarando-o sem um valor local
ly para a instrução BEGIN), tendo sido redirecionado para other-file
.
Com o GNU sed
ou compatível, você poderia fazer o mesmo armazenando o conteúdo do arquivo em uma variável do shell, convertê-lo em algo que seja adequado como sed
s
substituição do comando e chame sed
com isso:
repl=$(cat other-file; echo .); repl=${repl%.}
escaped_repl=$(printf '%s\n' "$repl" | sed 's:[\/&]:\&:g;$!s/$/\/')
sed -i "s/ktr_updater/$escaped_repl/g" file