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.

Jacob Wood
fuente

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.

choroba
fuente
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.

Kent
fuente
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 .

stderr
fuente
1

Tienes al menos dos opciones.

mv ~/newstuff/* ~/oldstuff
rmdir ~/newstuff
mv ~/oldstuff ~/newstuff

y

mv ~/oldstuff ~/ancientstuff
mv ~/newstuff ~/oldstuff
Ярослав Рахматуллин
fuente