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:
En ocasiones nuestro sistema cuenta con respaldos duplicados, manteniendo almacenada la misma información ocupando espacio innecesariamente en nuestro ordenador con multitud de archivos repetidos de todo tipo (fotos, documentos, videos…), que nos pueden llevar toda una vida organizar.
Ahora con tan solo unas pocas lineas de código, podemos realizar ese trabajo rápidamente, adaptándolo a nuestras necesidades, pudiendo modificar los parámetros para realizar la búsqueda con un filtro definido y moverlos al directorio que deseemos, y después realizar el mantenimiento planificado de backup que se requiera.
El registro de los archivos que se mueven, quedan en una bitácora que se guarda en un archivo creado en el mismo directorio donde se encuentra el script original. A ese registro con las operaciones realizadas le llamaremos directorios.dat
Este script lee un archivo de texto y lo ingresa a un ARRAY, luego lee los datos del mismo, se utiliza IFS junto con un bucle for para ir tomando los valores que estan separados por ‘|’ en la línea y un array para guardar esos valores.
Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash
OLDIFS=$IFS# Valor original del IFS
A=-1# Variable para moverse por el array
texto=\usr01\datso\texto.txt
IFS=$'\n'
forLINEA in$(cat$texto);do
IFS='|'# Caracter separador
forVALOR in$LINEA;do
letA=$A+1
VARIABLE[$A]=${VALOR}
done
IFS=$'\n'
done
IFS=$OLDIFS# Restablece el IFS a su valor original
# Si el array no esta vacio muestra los resultados
¿Te ha servido este sitio alguna vez? Cada script, cada línea de ayuda aquí es fruto de horas de trabajo y pasión por compartir. Si alguna vez resolviste un problema gracias a esta página, considera hacer una donación. Tu aporte —por pequeño que sea— mantiene vivo este proyecto y me impulsa a seguir creando.