複数行の置換をawkで考えたくないなあ
富豪的にrubyとかperlでやった方がマシでしょ

#!/usr/bin/env ruby
# -*- coding: utf-8; -*-
abort unless ARGV.size == 3
open(ARGV.shift).read.\
gsub(/#{Regexp.escape(open(ARGV.shift).read)}/m,open(ARGV.shift).read).\
display

まあワンライナーだよな