Поскольку Perl был вашим первым тегом, я думаю, вы захотите версию решения для Perl.
Если на вашей Windows установлен Perl, работает следующее (для удобства чтения добавлены пробелы):
C:\>perl -e "open(my $rf, '<', 'c:\output.txt')
|| die \"Can not open c:\output.txt: $!\";
my $replace = <$rf>;
chomp $replace;
close $rf;
local $^I='.bak'; # Replace inside the file, make backup
while (<>) {
s/great/$replace/g;
print;
}" c:\newfile.txt
C:\>type C:\newfile.txt
Stack overflow is abcd
Чтобы быть немного более идиоматическим в Windows, вы можете заменить начало кода Perl (чтение содержимого файла) командой SET /P
команды "cmd" (см. Ответ Ghostdog), что намного короче. Код Perl:
C:\> set /p r=<c:\output.txt
C:\> perl -pi.bak -e "s/great/%r%/g;" c:\newfile.txt
C:\> type C:\newfile.txt
Stack overflow is abcd