Eliminar directorys en bash

Este es un command simple: rm -rf dir Pero tengo un problema interesante que resolver. Mi script bash llama a composer install en un script de compositor, esto hace que vendor/app-name/ en el directory en el que se ejecutó la composer install del composer install . Lo cual está bien, el problema es que ahora estoy haciendo algo como:

 cp -R /vendor/ . # I believe this is correct for copying everything # out out of vendor and into root 

copyr todo desde el vendedor. Ok eso es definir, pero podría haber 300 carpetas de nombre de aplicación allí (obviamente, todas con nombres diferentes, a continuación nombre de la aplicación), cada uno podría tener un directory .gitignore , .git o un directory de documentation. Quiero decir:

Recorra cada una de las carpetas, busque .git /, .gitignore o Documentation y elimínelas si las encuentra.

¿Cómo puedo hacer esto en bash?

Nota: todos los packages que se están bajando se eliminan a través de git, sin importar cómo el usuario elija agregar otros adicionales del package de compositores. los mismos conceptos deben aplicarse

Para eliminar todos los files .git / , .gitignore o Documentation , puede intentarlo:

 find \( -name ".git" -o -name ".gitignore" -o -name "Documentation" \) -exec rm -rf "{}" \; 

Probablemente haya una mejor manera, pero fuera de mi cabeza haría esto:

 find . -type d -iname .git | xargs rm -rf find . -type f -iname .gitignore | xargs rm find . -type d -iname Documentation | xargs rm -rf 

La primera línea borra todas las carpetas llamadas .git, segunda línea, todos los files llamados .gitignore, tercera línea, todas las carpetas llamadas Documentación.