( modificando da minha resposta aqui ... )
Você pode comparar NR com FNR para distinguir entre processar o primeiro ou os arquivos subseqüentes. Isso ocorre porque FNR é redefinido por arquivo, enquanto NR é a contagem em execução. Portanto, somente durante o processamento do primeiro arquivo a condição NR==FNR será satisfeita.
Para processar o FileB primeiro ...
awk 'NR==FNR{a[$1]=1}'
Definir o valor como "fictício" como 1 é bom o suficiente.
Depois, para processar o FileA ...
awk -F'\t' 'BEGIN{OFS=FS}NR!=FNR{if(a[$4]){$1="Reserved"};print}'
Aqui, o separador do campo de saída OFS é definido como FS para preservar a formatação quando awk reconstruir a linha completa ( $0 ).
Colocando os dois juntos:
awk -F'\t' 'BEGIN{OFS=FS}NR==FNR{a[$1]=1}NR!=FNR{if(a[$4]){$1="Reserved"};print}' FileB FileA
Se você quer que ele seja um pouco mais terse ...
awk -F'\t' 'BEGIN{OFS=FS}NR==FNR{a[$1]=1;next}a[$4]{$1="Reserved"}1' FileB FileA
next é usado no processamento do arquivo primeiro para pular a impressão final indicada por (o final) 1 , que é um atalho de {print $0} . Com isso, podemos mudar a condição a[$4] (ou seja, true se existir em r ) 'out' para ser a condição para determinar se precisamos alterar $1 para "Reserved" ou não.