Aqui está um comando que deve alcançar o que você deseja:
for f in test1/*; do find test2 -name $(basename $f) -size $(stat -c %s $f)c -delete; done
Explicação:
-
for f in test1/*: faz um loop sobre cada arquivo no test1 -
$(basename $f): Retorna o nome base do arquivo passado pelo loop -
$(stat -c %s $f): Retorna o tamanho do arquivo passado pelo loop - O
cno final do blocostaté para que a saída seja lida como bytes porfind -
find test2 -name $(basename $f) -size $(stat -c %s $f)c -delete: encontre arquivos correspondentes e exclua-os com-delete
Para uma execução a seco, omita o sinalizador -delete .
Nota: Isso não funcionará no MacOS porque o comando stat interno não suporta o -c sinalizador. Em vez disso, instale a versão do gnu do stat.