GNU/Linux >> Tutoriales Linux >  >> Linux

Mv * Carpeta (evitando el error "no se puede mover")?

Esta pregunta ya tiene respuestas aquí :“mkdir foo; svn mv * foo”

(3 respuestas)
Cerrado hace 8 años.

Cada vez que quiero mover miles de archivos a una nueva carpeta, siempre me encuentro con el mismo problema.

> mkdir my_folder
> mv * my_folder
mv: cannot move 'my_folder to a subdirectory of itself 'my_folder'

Si bien creo que el error anterior es inofensivo (¿lo es? ) Me pregunto si hay alguna forma de evitarlo.

En caso de que sea importante, estoy interesado en una solución en zsh o una que funcione bien en varios shells.

Respuesta aceptada:

En zsh, con el extended_glob opción habilitada, puede usar ~ para excluir patrones de los globos, por lo que podría usar:

setopt extended_glob
mv -- *~my_folder my_folder

O use el operador de negación (todavía con extended_glob ):

mv -- ^my_folder my_folder

Use llaves para evitar escribir el nombre del directorio dos veces:

mv -- {^,}my_folder

En bash (para otros buscadores de respuestas que lo usan), puede usar globos extendidos al estilo Ksh:

# If it's not already enabled
shopt -s extglob
mv -- !(my_folder) my_folder

También puede usar esa sintaxis en zsh si habilita el ksh_glob opción.


Linux
  1. Aprenda el manejo de errores de Bash con el ejemplo

  2. ¿Error wifi Wpa_supplicant?

  3. error de autoconf en ubuntu 11.04

  4. Que es :-!! en código C?

  5. Instalar gema en la carpeta local

Cómo solucionar problemas de ERR_TOO_MANY_REDIRECTS

Solucione el error "No se puede escribir en la carpeta de la aplicación" en el cliente Vuze BitTorrent

Cómo proteger con contraseña una carpeta en Linux

Montar una carpeta remota con sshfs

Cómo comprimir una carpeta en Linux

¿S mayúscula en los permisos de una carpeta?