Essa coisa de substituição de par de chaves é melhor feita como um script, IMHO, a menos que você queira uma solução de fluxo de linha de comando como um desafio. Um script permitirá a generalização futura. Por exemplo. em Python ficaria da seguinte forma:
#!/usr/bin/python3
map = {}
with open('file1.txt') as f:
for line in f:
t = line.split()
map[t[0]] = t[1]
with open('file2.txt') as f:
for line in f:
t = line.split()
if t[0] in map: print(map[t[0]])
else: print(line, end='')