Estoy tratando de encontrar todas las carpetas nombradas b
y eliminarlas, sin eliminar su contenido (ya sean carpetas, archivos, archivos ocultos, ...).
Entonces, por ejemplo, un archivo en una ruta /a/b/c/file
debería convertirse/a/c/file
Esto es lo que he probado, que no funciona:
find -type d -name b -exec mv {}/* {} \; -exec rmdir {} \;
mv
yrmdir
manejar ambos correctos.mv {}/* {}/
por ejemplo). Con los archivos en su lugar, sobrescribirá los del directorio superior sin solicitarlo. Para administrar todo, creo que es acogedor hacer un guiónshopt -s dotglob;
antesmv
y reemplacesh
porbash
para capturar archivos de puntos y directorios también.