find -maxdepth 1
só encontra arquivos de profundidade máxima do caminho 1 no diretório do argumento.
Além disso, substitua rm -rf
por um simples echo
ao testar as alterações, pois você provavelmente não quer descobrir da maneira mais difícil que suas alterações não são o que devem ser.
-maxdepth 1
fará com que o script procure apenas o arquivo especial nos primeiros sub-diretórios e, se não for encontrado, exclua-os. Se o arquivo especial for mais profundo, você terá que fazer uma verificação completa de profundidade, mas essa solução se ajusta à minha interpretação da sua pergunta em sua forma original.