Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2015, 08:16
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mover todos los archivos "*.txt" de subdirecorios a un nuevo directorio

En realidad eso no encontraría los .txt que estén en subdirectorios.

Si la idea es moverlos todos al mismo lugar, lo siguiente es equivalente:

Código BASH:
Ver original
  1. # para bash 4.x
  2. shopt -s globstar
  3. mv **/*.txt destino/
  4.  
  5. # para cualquier sistema donde "find" esté disponible
  6. find . -name "*.txt" -exec mv {} destino/ \;


Si la idea es preservar la estructura de directorios, probablemente haya algo mejor pero mi "fórmula" es usar algo como lo siguiente:

Código BASH:
Ver original
  1. find . -name "*.txt" -exec -exec bash -c '
  2.        for FILE in "$0" "$@"; do
  3.                mkdir -p destino/"$(dirname "$FILE")"
  4.                mv -v -- "$FILE" "destino/$FILE"
  5.        done
  6.        ' {} +