Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 4
Ir a la página Anterior  1, 2, 3, 4  Siguiente
 
Necesito Un Shell Script Que Compare Versiones
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
shordi escribió:  
Decía el entrenador de boxeo en la esquina: "Lo que tienes que hacer es darle más que él a tí".... y era un buen plan pero...
   


Acabo de ver un curso para aprender hacer justo lo que quieres, voy a tener que pasar un proceso de aprendizaje pero voy a intentar hacer lo que describes, espero que no tarde mucho en hacerlo.

Parece que no es muy muy dificil pero bueno no lo he hecho nunca y ya se sabe una cosa es verlo por encima y otra probarlo.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
shordi escribió:  
La idea es: Tengo un directorio A lleno de paquetes de instalación de programas generados por gambas. Es decir:

miprogram_0.0.1-0ubuntu1_all.deb
elotroprograma_0.0.1-0ubuntu1_all.deb
otroprogramamas_1.0.4-0ubuntu1_all.deb
yotro.0.0.3-ubuntu1_all.deb

en otro directorio B tengo algunas nuevas versiones

miprogram_0.0.2-0ubuntu1_all.deb
programanuevo_0.0.1-0ubuntu1_all.deb

Necesito un Script que me copia las nuevas versiones de B a A, eso es facilito, y que averigue si hay versiones viejas y las elimine, que es donde no me aclaro.
Llevo haciéndolo a ojo desde siempre, pero la lista crece y crece y cada vez es más difícil.

Por su entorno es algo que no se pueden resolver con gambas, ha de ser un Shell Script.


Una pregunta, ¿puede ser en python por ejemplo ó no?

Es que python es muy rico para hacer lo que pides. Pero yo nunca lo he usado bajo Linux siempre bajo Windows, supongo que funciona igual, verdad?

Acabo de comprobar desde el terminal que si funciona perfectamente Python. Ahora solo queda saber si "shordi" me dice que le da igual usar Python para esto o no.

Quedo a la espera.
 



 
última edición por gambafeliz el Sabado, 31 Agosto 2019, 19:08; editado 2 veces 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
No, es un servidor sin casi nada instalado mas que los programas que sirve. Shell Script, exclusivamente.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
No Shordi, que no va por no hacer el script, sino que, no comprendo por que no en gambas para la terminal.
Que gambas no este instalado en el servidor no es una razón de peso para no hacer un script en gambas. Solo bastaría con instalar lo necesario para que corra, no todo el ide.
Así que antes de hacer una sola linea de código para resolver este problema quería saber por que no quieres en gambas.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
shordi escribió:  
No, es un servidor sin casi nada instalado mas que los programas que sirve. Shell Script, exclusivamente.


Entonces shell script es con lo que lo voy hacer. Y es el curso que estoy viendo justo ahora para intentar ayudarte. Aunque en python es seguro que es mas facil por el poder que tiene, pero donde manda capitán no manda marinero. ¿no?
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
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

# Leyendo directorio B
find '/home/bonavena/testing/' -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 de pruebas y su version que de momento no se como hacer
done

# Luego en esta parte falta analizar para cada uno de los itemes de A si existe el mismo paquete en #!/usr/bin/env bash
#Si es más reciente el de A borrar (o mover el de B) y luego copiar el de A en #!/usr/bin/env bash

 

 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
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.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
Citar:
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.

Clarificando ideas: Llamemos a los directorios "Viejo","Nuevo" y un tercero llamado "Actualizado"

Si uno de Viejo no está en Nuevo, se copia a Actualizado
Si uno de Nuevo no está en Viejo, se copia a Actualizado
Si uno de Nuevo sí está en Viejo, pero la versión de Viejo es menor, se copia a Actualizado

Creo que se puede hacer, de hecho el primer supuesto que puse así lo contemplaba, sin el directorio Actualizado, pero así la lógica, me parece, es más fácil de entender.
Para mí el problema es la tercera opción, la comparación de versiones.(No vale por fechas o por tamaño)

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
Citar:

Una pregunta, ¿puede ser en python por ejemplo ó no?

Es que python es muy rico para hacer lo que pides. Pero yo nunca lo he usado bajo Linux siempre bajo Windows, supongo que funciona igual, verdad?

Acabo de comprobar desde el terminal que si funciona perfectamente Python. Ahora solo queda saber si "shordi" me dice que le da igual usar Python para esto o no.


 

No mientes la soga en la casa del ahorcado!.  

Pssss. Ojo que Python tiene opositores en esta comunidad. Desde la península Itálica hasta de Hispania e incluso del Nuevo Mundo.
En el fondo es broma. Mis compañeros aprenden basic, Python tiene sus semejanzas con el basic aunque tiene sus diferencias.
La falta de tiempo y los gustos personales hacen el resto.

Efectivamente funcionará igual.

Creo que es más adecuado como dice Shordi, hacerlo en Shell script y luego si hay tiempo se verá otras posibilidades.

En principio creo que es importante conocer los recursos "primarios" del sistema.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Necesito Un Shell Script Que Compare Versiones 
 
Shell escribió:  
Citar:

Una pregunta, ¿puede ser en python por ejemplo ó no?

Es que python es muy rico para hacer lo que pides. Pero yo nunca lo he usado bajo Linux siempre bajo Windows, supongo que funciona igual, verdad?

Acabo de comprobar desde el terminal que si funciona perfectamente Python. Ahora solo queda saber si "shordi" me dice que le da igual usar Python para esto o no.


 

No mientes la soga en la casa del ahorcado!.  

Pssss. Ojo que Python tiene opositores en esta comunidad. Desde la península Itálica hasta de Hispania e incluso del Nuevo Mundo.
En el fondo es broma. Mis compañeros aprenden basic, Python tiene sus semejanzas con el basic aunque tiene sus diferencias.
La falta de tiempo y los gustos personales hacen el resto.

Efectivamente funcionará igual.

Creo que es más adecuado como dice Shordi, hacerlo en Shell script y luego si hay tiempo se verá otras posibilidades.

En principio creo que es importante conocer los recursos "primarios" del sistema.

Saludos


No digo nada, me parece perfecto todo lo que dices.

Yo llego poco pero suficiente para hacer un programa en python tan divertido como el que ya hice. De echo como no sabia lo que comentas. Tonto e ingenuo tras verlo ayer del baul de mis recuerdos, he estado apunto de ofrecerle a todos ustedes, ya que es un programa que lo hice a medida para mi y para mi es muy interesante.

Pero bueno lo dejo en su caja y seguiré usando lo yo solo. Perdón nunca quise insinuar ninguna molestia a ningún colega.

Saludos por cierto amigo Shell.

Ahh y gracias por la aclaratoria al maestro shordi que veo que no me enteré muy bien, pero el siempre atento para arreglar cualquier duda o entuerto.

Saludos a todos
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Al Ejecutar Shell Script Desde Gambas No T... ivanolete Shell Scripting 6 Viernes, 09 Enero 2015, 02:43 Ver último mensaje
ivanolete
No hay nuevos mensajes Problema Al Correr Un Script Con Shell obedlink General 2 Domingo, 05 Junio 2016, 11:36 Ver último mensaje
shordi
No hay nuevos mensajes Este Shell Script Me Ha Salvado El Culo... shordi General 7 Martes, 09 May 2017, 13:41 Ver último mensaje
Shell
No hay nuevos mensajes Exec O Shell Al Ejecutar Un Script SH Me M... CanihoJR Controles/Librerías/Componentes 3 Sabado, 29 Diciembre 2018, 19:16 Ver último mensaje
CanihoJR
 

Publicar nuevo tema  Responder al tema  Página 2 de 4
Ir a la página Anterior  1, 2, 3, 4  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron