Execute isso no Bash. Ele itera sobre todos os arquivos .exe
e compara o nome do diretório pai com o nome do arquivo (sem extensão).
shopt -s extglob
for f in **/*.exe; do
dir="$(basename "$(dirname "$f")")" # get dirname
file="$(basename "${f%.*}")" # get filename, without extension
if [ "$dir" = "$file" ]; then
rm -i -- "$f"
fi
done
O truque para obter o nome do diretório bruto é chamar basename
no dirname
do arquivo.
Todas as substituições precisam ser citadas para que esse comando funcione com nomes de arquivos contendo espaço em branco.
Se você não quiser ser avisado antes de remover arquivos, remova a opção -i
da chamada rm
.