Faça um loop sobre cada arquivo no diretório 2 e tente remover o equivalente com o mesmo nome de arquivo ( basename
) no diretório 1.
for f in dir2/*; do echo rm -f -- dir1/"$(basename "$f")"; done
Observe que rm -f
não causa erros nos arquivos que não são encontrados. Remova o echo
quando tiver certeza de que removeria as coisas certas.
Se você quiser chamar apenas rm
nos arquivos existentes, teste se eles estão em dir1
com [[ -f … ]]
.
for f in dir2/*; do del=dir1/"$(basename "$f")"; [[ -f "$del" ]] && rm -- "$del"; done