perl -lne '
@ARGV and $h{$1}=s/(\S+)//r,next;
s|/(\S+)\K|$h{$1}|;print;
' intermediate.file old.file
Resultados
Real/Test1 a1 b1 c1 d1
Real/Test1 a1 b1 c1 d1
Real/Test2 a2 b2 c2 d2
Real/Test3 a3 b3 c3 d3
Real/Test3 a3 b3 c3 d3
Real/Test4 a4 b4 c4 d4
Explicação
- Usando o arquivo intermediário (@ARGV é > 0), preenchemos o hash usando o primeiro campo como a chave e os campos restantes como o valor correspondente.
- Quando processamos o arquivo antigo (@ARGV = 0), observamos a sequência após a barra e a usamos para ajustar o valor de hash e colocá-lo de volta na linha atual.