Se bem entendi, com dois exemplos de arquivo:
file-A
:
abc
abc
abc
abc
line5-file-A
abc
e file-B
:
def
def
def
def
line5-file-B
def
Você pode fazer assim:
% sed -e "5 c\$(sed -n '5p' file-A)" file-B
def
def
def
def
line5-file-A
def
Em seguida, a linha 5 em file-B
será substituída pela linha 5 em file-A
.
Você deve usar -i
para fazer a alteração no local.
Outra maneira é usar awk
:
awk 'FNR==NR{if(FNR==5){a=$0};next}{if(FNR==5){$0=a};print}' file-A file-B