Procure nas info páginas do antigo cp . Um comando como
cp --archive --backup --suffix="-original" A/* B
Deve copiar todos os arquivos de A para B, e se houver arquivos já existentes (nomes de arquivos conflitantes), o arquivo de destino existente será renomeado para [name]-original (ou seja, um backup será feito primeiro).
Em seguida, executá-lo novamente usando --no-clobber em vez de --backup e --suffix deve copiar os arquivos restantes apenas em B para A
cp --archive --no-clobber --exclude='*-original' B/* A
Isso deve excluir os arquivos [name]-original em B. Certifique-se de que não haja arquivos com esse sufixo para começar.
Adicione um -v para ver o que está acontecendo.
[Tentativa - recursiva, mas não exatamente como esperada]