Tengo esta estructura de carpetas:
foo
`----> bar
¿Cómo puedo extraer el contenido de bar
? en foo
?
Probé mv -f bar/* .
desde dentro de foo
.
-f, –fuerza | no preguntes antes de sobrescribir
pero obtengo "no se pudo mover bar/ajax
a foo/ajax
porque el directorio no está vacío”
¿Cómo puedo solucionar esto?
Respuesta aceptada:
mv
sobrescribirá archivos, pero se negará a sobrescribir directorios . No hay un solo comando que fusione directorios y elimine los directorios de origen (que es probablemente lo que desea con mv
). Incluso rsync --remove-source-files
dejará directorios vacíos.
Puede utilizar una combinación de comandos:
cp -a dev/. .
rm -r dev
que copia todo en dev
al directorio actual y luego elimina el dev
directorio.
O:
rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} ;
que usa rsync
para mover todos los archivos y luego elimina los directorios vacíos que quedan.