» » Script bash para mover ficheros entre directorios

Script bash para mover ficheros entre directorios

Publicado en: Tecnología | 2

Hoy me ha surgido tener que hacer un sencillo shell script de bash para que los ficheros de una carpeta, les cambie permisos y los mueva a otra carpeta.

Y si bien se puede hacer por todos los ficheros del directorio y se mueven, pero esto podría darme un error.

Necesitaba hacerlo fichero a fichero, dentro del directorio. Pensé en meter un ‘ls‘ en un array, pero no es necesario, es mucho más sencillo.

Con un ‘for‘ recorres el contenido, por cada fichero que encuentra le aplicas lo que necesitas y listo. Funciona como un reloj.

Aquí os dejo el script básico:

#! /bin/bash
for fichero in "/path/directorio/*"
do
  # acciones...
done

Y un caso práctico, donde declaramos como variables las rutas de los directorios, aplicamos permisos y movemos los ficheros de un origen a otro directorio sería:

#! /bin/bash
# Variables
rutaOrigen=/home/entrada/*
rutaDestino=/home/nueva_entrada/
# Loop
for fichero in "$rutaOrigen"
do
  /bin/chmod 666 $fichero
  /bin/chown usuario:grupo $fichero
  /bin/mv $fichero $rutaDestino
done

Un saludo

2 Comentarios

  1. Luis
    | Responder

    Very good

  2. Droide
    | Responder

    Thanks

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *