Não tenho certeza se isso pode ser feito com um único comando find
, mas certamente isso pode ser feito com um simples script bash. Acabei de testar isso no Cygwin e funciona como pretendido. Você desejará alterar ROOT_DIR
para ser a raiz de qualquer sistema de arquivos no qual você deseja executar essa pesquisa (por exemplo, /cygdrive/d/
para pesquisar na unidade D).
A idéia geral é a seguinte: encontre todos os arquivos chamados .picasa.ini
na árvore. Para cada um, procure em seu diretório para ver se há outros arquivos. Se não houver, remova o diretório. (As aspas duplas em torno de $dir
removerão diretórios que contêm espaços). Caso contrário, siga em frente.
#!/bin/bash
ROOT_DIR=/
find "$ROOT_DIR" -type f -name '.picasa.ini' | while read file; do
dir=$(dirname "$file")
filecount=$(ls -1A "$dir" | wc -l)
if (( filecount == 1 )); then
rm -rv "$dir"
fi
done
Espero que isso ajude! Estarei interessado em ver se alguém tem uma solução mais elegante.