Mensajes: 830
Domingo, 01 Septiembre 2019, 05:21
tincho escribió:
De momento hice esto
#!/bin/bash
# Leyendo directorio A
find '/home/bonavena/stable/' -name '*.deb' | while read -r f
do
b=`echo "${f##*/}"`
p=`echo $b | cut -d "_" -f 1`
v=`echo $b | cut -d "_" -f 2`
echo "Paquete: "$p
echo "Versión: "$v
# falta crear la lista de paquetes estables y su version que de momento no se como hacer
done
Hola, tincho
Como a mi me falta aprender script y veo que tu sabes, ¿te digo como yo lo haría?
Así lo haría yo.
1. Leer el directorio A y enviar copia a un archivo de texto llamado "directorio A.txt"
2. Leer el directorio B y enviar copia a un archivo de texto llamado "directorio B.txt"
3. Después mediante cadenas, leo el archivo "directorio B.txt" y lo comparo con las cadenas "directorio A.txt" donde:
3.1. Si no existe B en A copio esa línea completa a un nuevo archivo que le voy a llamar "Enviar a directorio A.txt" (me da igual la versión, simplemente no esta)
4. Leemos el archivo "Enviar a directorio A.txt" y copiamos cada archivo que diga en el txt al Directorio A.
Y creo que listo por que aquí no importa la versión solo importa que no exista lo que hay en B en A, ya que si es distinto para A es nuevo. Y lo que importa es que A no sea igual, ojo, a igual nombre, pero si es importante la versión, que me temo que sí, entonces hacemos los puntos anteriores con la fecha de creación o la de modificación, y aplicamos el mismo razonamiento y si no me equivoco todo debe ser completamente correcto.
Ahora me falta hacerlo, pero veo que tu ya sabes hacerlo.
En fin ahí lo dejo.
Saludos.