Reemplazar carpeta existente con comando mv


6

Disculpas si esta pregunta ya se ha hecho, no pude encontrar nada ...

Digamos que quiero reemplazar 'oldstuff' por 'newstuff'. Básicamente renombrar para reemplazar. Intento usar este comando:

mv ~/newstuff ~/oldstuff

Pero eso solo mueve la carpeta 'newstuff' a la carpeta 'oldstuff'.

¿Cómo reemplazaría 'oldstuff' por 'newstuff'?

Estoy ejecutando OS X 10.7.

Respuestas:


6

Si ~/oldstuffno existe

mv ~/newstuff ~/oldstuff

cambiará el nombre newstuffa oldstuff. Si existe, se mudará newstuffa oldstuff.

Entonces, para responder a su pregunta, primero elimínela ~/oldstuff(o cámbiele el nombre olderstuff, vea esta pregunta nuevamente sobre cómo hacerlo), luego use el mvcomando como lo hizo.


sin embargo, existe el viejo producto. Ese es el problema, ¿hay alguna forma de hacerlo sin emitir un comando de eliminación primero?
Jacob Wood

@JacobLukeWood: no puede haber dos directorios con el mismo nombre. Si desea mover el contenido a un directorio existente, use mv newstuff/* oldstuff(podría ser más complicado si .filesestá involucrado).
choroba

Terminé haciendo lo que dijiste usando el comodín (*) con él, gracias :)
Jacob Wood

3

Otra solución sería usar rsync. (Tenga cuidado con las barras inclinadas. Son importantes).

Esto copiará todo en newstuff en oldstuff.

rsync -av ~/newstuff/ ~/oldstuff

Y, el siguiente código copiará todo en newstuff en oldstuff, y borrará todo lo que no esté en newstuff en oldstuff.

rsync -av --delete ~/newstuff/ ~/oldstuff

Tenga en cuenta que ninguno de estos comandos hará nada a los archivos en ~ / newstuff. Si desea eliminarlos, tendrá que hacer el rmcomando por separado.


2

Puedes probar:

mv -f folder1/* folder2 && rmdir folder1

Moverá todo folder1, incluidos los archivos y directorios a folder2.

-f: no pregunte antes de sobrescribir equivalente a --reply=yes.

mv man page .


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.