¿Cómo puedo mover los archivos contenidos en todos los subdirectorios al directorio actual y luego eliminar los subdirectorios vacíos?
encontré esta pregunta , pero adaptando la respuesta a:
mv * .
no funcionó; Recibí muchas advertencias que parecían:
mv: wil and ./wil are identical
Los archivos contenidos en los subdirectorios tienen nombres únicos.
fuente

-n, --no-clobber: no sobrescribir un archivo existente. Te podría interesar-b, --backup, también.Prueba esto:
Más información: pruebe la instrucción de búsqueda solo, debería darle una lista con todos los archivos que desea mover (omita el
-print0). Ejemplo:con
-print0yxargsahora estás creando una lista de sentencias para ser ejecutadas. los-J %bandera significa, inserte el elemento de lista aquí, por lo quemv $FILE .Se ejecuta para cada archivo encontrado.Lo anterior está funcionando para los BSD xargs. Si está utilizando la versión GNU (Linux)
-I %en lugar de-J %fuente
Bash 4:
fuente
1 truco rápido, solo funciona si sus archivos tienen extensiones (con un punto):
fuente
Solo ejecuta este comando :-)
mv **/*.* .fuente
.en su nombre, ¿lo hará?