2012-04-01 11 views
9

¿Cómo puedo mover la carpeta completa de _vim a ~/.vim?Bash: ¿Cómo puedo mover todo el contenido de la carpeta hasta un nivel?

$ mv ~/.vim/_vim/ ~/.vim 
mv: `/home/kithokit/.vim/_vim/' and `/home/kithokit/.vim/_vim' are the same file 

No puedo hacer eso. Básicamente lo que quiero hacer es mover todo el contenido dentro de _vim carpeta hasta un nivel, que está en ~/.vim/

+0

@Mat why downvote? por qué cerrar ? –

+0

No hice ninguno de esos. – Mat

+0

No es una pregunta de programación - pertenece a http://superuser.com –

Respuesta

17
mv ~/.vim/_vim/* ~/.vim 

Bash expande el comando * tales lee ahora

mv ~/.vim/_vim/file_1 ... ~/.vim/_vim/file_n ~/.vim 
+0

¡si funciona! me pierdo el * –

+0

Esto omitirá los archivos de puntos (como ".config"). –

+0

@Dunes Exactamente, no moverá _todo el contenido del directorio (como se solicitó). Creo que vale la pena mencionarlo. –

0
$ mv ~/.vim/_vim/* ~/.vim/ 
$ rmdir ~/.vim/_vim 
1

Si desea tener cuidado de mover archivos dot ocultos, así como archivos normales y visibles, y también para no dañar ninguno de los archivos que ya están en ~/.vim/, haga esto:

for A in $(find -mindepth 1 -maxdepth 1 ~/.vim/_vim) ; do B=$(basename $A) ; mv -iv ~/.vim/_vim/$B ~/.vim/ ; done 

Lo más probable es que desee seguir eso con rmdir ~/.vim/_vim.

Consulte también las sugerencias de @Dunes en los comentarios a continuación.

+1

Puede usar xargs para simplificar el comando. 'find -mindepth 1 -maxdepth 1 ~/.vim/_vim | xargs mv -iv -t ~/.vim/'. También puede usar '-u' en lugar de' -i'. – Dunes

+0

@Dunes: Eso es genial. No sabía de la opción '-t', y han pasado diez años desde la última vez que utilicé' xargs'. Me gusta. – thb

Cuestiones relacionadas