https://foro.gambas-es.org/viewtopic.php?f=6&t=7671
-----------------------------------
shordi
Viernes, 30 Agosto 2019, 20:24

Necesito Un Shell Script Que Compare Versiones
-----------------------------------
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.


-----------------------------------
gambafeliz
Viernes, 30 Agosto 2019, 20:57

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
No se, pero tengo buena voluntad, con lo cual cuenta conmigo. Lo estudio y si puedo te diré algo antes del año que viene, :)


-----------------------------------
Shell
Sabado, 31 Agosto 2019, 14:11

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
Shordi:

Si hubiese una forma posible de controlar esos números de versiones, ¿ no se podría hacer en gambas ?.  :o 
Esos números de versiones tienen una forma de entenderse para saber cual es más antigua o más nueva. Digo yo.
Algún estándar tendrá.

Añadirlos a una lista y según el orden de esos números, unos serán primeros que otros. Eliminas de la lista tantos como quieras,
teniendo siempre cuidado en decirle desde donde quieres que elimine.

 :? 

Saludos


-----------------------------------
shordi
Sabado, 31 Agosto 2019, 16:01

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="Shell" post="46013"]Shordi:

Si hubiese una forma posible de controlar esos números de versiones, ¿ no se podría hacer en gambas ?.  :o 
Esos números de versiones tienen una forma de entenderse para saber cual es más antigua o más nueva. Digo yo.
Algún estándar tendrá.

Añadirlos a una lista y según el orden de esos números, unos serán primeros que otros. Eliminas de la lista tantos como quieras,
teniendo siempre cuidado en decirle desde donde quieres que elimine.

 :? 

Saludos[/quote]
Ya te digo que no es posible en Gambas. Es para ejecutar en un servidor que no tiene gambas instalado.

Saludos.


-----------------------------------
tincho
Sabado, 31 Agosto 2019, 16:12

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
Yo estoy haciendo (de a ratos) un programa que se llama [b]code-browser[/b] y pasandole el directorio de los programas gambas los revisa a todos y lista en una tabla relacional toda la informacion contenida en los archivos [b].project[/b]. Es decir que hace lo que estas necesitando me parece.
Casualmente desde ayer a la madrugada estoy metiendo le mano otra vez. En cuanto este decente lo subo.
Pero el resultado es algo así
 [img]https://foro.gambas-es.org/files/images/2590/captura_de_pantalla_de_2019_08_31_16_55_38.png[/img] 
Donde
1) Permite navegar las tablas con los datos obtenidos
2) Permite ver todos los proyectos ordenados por autor (estoy trabajando para catalogar por diferentes temas)
3 ) Se puede ver en la lista la versión.
Saludos.


-----------------------------------
shordi
Sabado, 31 Agosto 2019, 16:29

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote] Es decir que hace lo que estas necesitando me parece.[/quote]

Insisto: Shell Script. No es posible usar Gambas.

 :|


-----------------------------------
tincho
Sabado, 31 Agosto 2019, 16:42

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46004"]...Por su entorno es algo que no se pueden resolver con gambas, ha de ser un Shell Script.[/quote]
Te referís a que no se puede correr un programa de terminal hecho con gambas porque no podes instalar gambas script? o porque es un servidor sin entorno grafico
y tal vez pensás que gambas no sirve.
Saludos.


-----------------------------------
tincho
Sabado, 31 Agosto 2019, 17:04

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46004"]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.[/quote]
Ok, ahora leí bien tu planteo.
La solución que se me ocurre es un script que lea todos los paquetes de A y de B e cree una lista donde solo este el nombre del paquete (no su versión.
Luego, como según lo que explicaste las versiones nuevas van a "aparecer" siempre en B tenes que leer los paquetes de B y alistarlos en un archivo de texto por ejemplo. Luego para cada archivo .deb de tu lista de nuevos paquetes te fijas si existe un paquete que se llame igual, si es así te fijas que versión tiene, y si es mas vieja te lo cargas y así con todos, y al final copias los nuevos en A.
Espero que no sea un lio.  :mryellow: 
Bueno en gambas para terminal se podria hacer muy facilmente e incluso se podria usar una base de datos sqlite3 todo en terminal
Ya me dirás.
Saludos.


-----------------------------------
shordi
Sabado, 31 Agosto 2019, 17:54

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="tincho" post="46030"][quote user="shordi" post="46004"]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.[/quote]
Ok, ahora leí bien tu planteo.
La solución que se me ocurre es un script que lea todos los paquetes de A y de B e cree una lista donde solo este el nombre del paquete (no su versión.
Luego, como según lo que explicaste las versiones nuevas van a "aparecer" siempre en B tenes que leer los paquetes de B y alistarlos en un archivo de texto por ejemplo. Luego para cada archivo .deb de tu lista de nuevos paquetes te fijas si existe un paquete que se llame igual, si es así te fijas que versión tiene, y si es mas vieja te lo cargas y así con todos, y al final copias los nuevos en A.
Espero que no sea un lio.  :mryellow: 
Bueno en gambas para terminal se podria hacer muy facilmente e incluso se podria usar una base de datos sqlite3 todo en terminal
Ya me dirás.
Saludos.[/quote]
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...
 :mryellow:  :mryellow:


-----------------------------------
gambafeliz
Sabado, 31 Agosto 2019, 18:49

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46033"]
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...


 :mryellow:  :mryellow:[/quote]

 :lol:  :lol:  :lol:  :lol:  :lol:


-----------------------------------
gambafeliz
Sabado, 31 Agosto 2019, 18:56

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46033"]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...
 :mryellow:  :mryellow:[/quote]

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
Sabado, 31 Agosto 2019, 19:04

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46004"]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.[/quote]

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

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

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.


-----------------------------------
shordi
Sabado, 31 Agosto 2019, 21:25

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.


-----------------------------------
tincho
Sabado, 31 Agosto 2019, 21:29

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.


-----------------------------------
gambafeliz
Sabado, 31 Agosto 2019, 21:52

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46040"]No, es un servidor sin casi nada instalado mas que los programas que sirve. Shell Script, exclusivamente.[/quote]

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? :)


-----------------------------------
tincho
Sabado, 31 Agosto 2019, 22:43

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
De momento hice esto

[code linenumbers=false syntax=bash]
#!/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

[/code]


-----------------------------------
gambafeliz
Domingo, 01 Septiembre 2019, 05:21

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="tincho" post="46045"]De momento hice esto

[code linenumbers=false syntax=bash]
#!/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
[/code][/quote]

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.


-----------------------------------
shordi
Domingo, 01 Septiembre 2019, 08:58

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote]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.
[/quote]
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


-----------------------------------
Shell
Domingo, 01 Septiembre 2019, 09:36

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote]
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.
[/quote]

 :shock: 

No mientes la soga en la casa del ahorcado!.  :twisted: 

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


-----------------------------------
gambafeliz
Domingo, 01 Septiembre 2019, 13:27

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="Shell" post="46054"][quote]
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.
[/quote]

 :shock: 

No mientes la soga en la casa del ahorcado!.  :twisted: 

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[/quote]

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 :)


-----------------------------------
Shell
Domingo, 01 Septiembre 2019, 14:25

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
GambaFeliz:

Me van a decir que estoy secuestrando el hilo.  :roll: 

A ver , ¿ de que va ese programilla que tienes guardado en el baul de los recuerdos ?.   8) 
Soy de Gambas pero a veces por circunstancias me dedico a Python. Las circunstancias son algunas que me han ido llevando a Python.
Ahora mismo no programo casi nada por culpa del dichoso trabajo.

Mi idea es que mientras sea posible convertir los ejemplos de Python a Gambas. Mientras pueda y no sea dañino para la salud.
Ya sabes, el marisco.. :twisted: 

No, es coña, es la falta de las dichosas librerías que puede tener un lenguaje y el otro no.
Y es que en parte es imposible no importar en Python una librería, en mi caso PyGame y que muchas
de estas no vengan en Gambas.

Hace tiempo compré un libro de algoritmos y su código viene en Python, eso puede ser más fácil de pasar
a Gambas. Pero es que no tengo ni tiempo ni pa leer...y con este calor.

Es un milagro que escriba ahora códigos de Gambas. No es que no me guste ( Todo lo contrario ), es que me falta tiempo.
Otra cosa es a lo que me gustaría dedicarme, juegos muy sencillos, nadas del otro jueves. Y todo lo que sea
aprender programación, por un camino u otro.

Ambos lenguajes tienen sus ventajas.

Perdone por el secuestro del hilo, maese Shordi.

Saludos


-----------------------------------
gambafeliz
Domingo, 01 Septiembre 2019, 16:51

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="Shell" post="46058"]GambaFeliz:

Me van a decir que estoy secuestrando el hilo.  :roll: 

A ver , ¿ de que va ese programilla que tienes guardado en el baul de los recuerdos ?.   8) 
Soy de Gambas pero a veces por circunstancias me dedico a Python. Las circunstancias son algunas que me han ido llevando a Python.
Ahora mismo no programo casi nada por culpa del dichoso trabajo.

Perdone por el secuestro del hilo, maese Shordi.

Saludos[/quote]

Y ahora que digo yo, tú, te saltas el hilo pero yo, a mi me va a matar el amigo shordi. -- -- Perdón shordi -- --, mil disculpas.

El programa es algo que me hice por lo siguiente:

1. Cuando navego a veces busco algo y 3 meses después busco nuevamente ese algo, y si me apuras 3 días después. Y quiero recordar eso.
2. A veces se me ocurren notas y estas las quiero guardar, pues también las guardo y puedo buscarlas en un lugar común a todo.
3. Odio tener cuentas en los navegadores y también guardo mis enlaces con su título explicativo, en ese sitio.
4. Busco algo en el programa destinado a Internet pero el me filtra mis búsquedas para decirme las coincidente y decirme una lista de lo que ya guardé para que yo vea si me es necesario volver a buscar o darle al enlace del pasado.

Todo lo guarda en XML y lo recupera. Y lo mejor es que sigo en ebullición pensando nuevos caminos para mejorar el programa, ya que como te he contado Python es muy potente en el mundo de las cadenas de texto e Internet. No me extraña que el creador este en Google. 

Tienes como se dice errores reconocidos por mi. Pendiente de resolver pero como es mio y es para mi, y se cuales son, pues no me importan mucho la verdad.

Nota: es para la consola pero trabaja directamente con el navegador que tengamos por defecto. Fin.

Shordi y a todos pido disculpas por desviarme del fin principal del hilo.  :oops:


-----------------------------------
v3ctor
Domingo, 01 Septiembre 2019, 17:37

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
no te queda otra que estudiar un poco de shell script, no creo se difícil, y ver si en los meta-datos de los paquetes se puede hacer una comparación fácil. no se yo empezaría por ahí.


-----------------------------------
gambafeliz
Domingo, 01 Septiembre 2019, 20:54

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46050"][quote]

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[/quote]

shordi por favor, aprovechando tus grandes conocimientos que yo claramente no tengo problema en reconocer que no se del tema. 

Me interesa que si tienes alguna idea que por favor me guíes  sobre la parte que te he puesto que tu has comentado; matizo, si no vale la fecha o el tamaño, permiteme opinar que yo creo que la fecha es muy relevante para diferenciar archivos, pero como te he dicho no se nada con respecto a tu lógica y si tu lo dices pues yo chiton. 

Pero por que si fueras tan amable no me das una pista con sentido para mi para hacer justo la comparación de versiones, yo ahí esto perdido. Por favor, ¿me guías?

Gracias.

Nota: Acabo de ver v3ctor que da una pista al respecto pero como llevo muy poco en linux pues no tengo ni claro que es lo que el comenta. Por cierto, Saludos v3ctor :) y gracias por tu aporte, pero a mi de momento poco me sirve, aunque voy a buscar el tema que dices para ver si me sirve de pista.


-----------------------------------
tincho
Lunes, 02 Septiembre 2019, 11:19

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
Ya esta luego de romperme un poco el coco, ya que quería hacerlo con array, logre hacer el dichoso script en bash.
[code linenumbers=false syntax=bash]
#!/bin/bash

# Leyendo directorios y creando la lista única de paquetes
scandir=/home/bonavena/paquetes
newdir=/home/bonavena/paquetes/new
olddir=/home/bonavena/paquetes/old
echo > a.txt
find $scandir -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 $p >> a.txt
uniq a.txt u.txt
done
# Creación de archivos auxiliares
while IFS= read -r line; do
  if [[ $line != " " ]]
        then
          echo " " > $line.txt
          find $scandir -name "*$line\_*.deb" | while read -r f
          do
            b=`echo "${f##*/}"`
            p=`echo $b | cut -d "_" -f 1`
            v=`echo $b | cut -d "_" -f 2`
          echo "$b~$f" >> $line.txt
          done
          sort -r $line.txt -o $line.txt
          # Moviendo cada paquete a su directorios
          while IFS= read -r dat; do
            pkg=`echo $dat | cut -d "~" -f 2`
                    if [[ $dat != " " ]]
                    then
                      last=`echo $dat | cut -d "~" -f 1`
                      #echo $last ${dat##*/}
                      break
                    fi

          done < $line.txt

          echo "Last package "$last

          while IFS= read -r dat2; do
            pkg=`echo $dat2 | cut -d "~" -f 2`
                    if [[ $dat2 != " " ]]
                    then
                        if [[ ${dat2##*/} == $last ]]
                        then
                        #echo $dat
                              if [[ $pkg != $newdir"/"`echo ${dat2##*/}` ]]
                              then
                                mv -f $pkg $newdir"/"`echo ${dat2##*/}`
                              fi
                        else
                          echo $dat
                              if [[ $pkg != $olddir"/"`echo ${dat2##*/}` ]]
                              then
                                mv -f $pkg $olddir"/"`echo ${dat2##*/}`
                              fi
                        fi
                    fi
          done < $line.txt
  fi
done < u.txt
[/code]

Bueno, de mas esta decir que lo prueben antes en un entorno de pruebas. o usar la opción [b]cp[/b] en vez de [b]mv[/b]
Otra cosa, yo tuve que correrlo con bash script.sh ya que con sh script.sh no funcionaba. Pero bueno eso en la maquina que lo probé, tal vez en la vuestra funcione con sh.
Saludos.


-----------------------------------
shordi
Lunes, 02 Septiembre 2019, 13:22

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
Muchísimas gracias. Lo probaré en cuanto tenga un ratito que por aquí ya se han desatado las hostilidades laborales. ¡Esto es la guerra!!Más madera!.... y un huevo duro...

ainsss

 :wink:


-----------------------------------
gambafeliz
Lunes, 02 Septiembre 2019, 16:45

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46071"]Muchísimas gracias. Lo probaré en cuanto tenga un ratito que por aquí ya se han desatado las hostilidades laborales. ¡Esto es la guerra!!Más madera!.... y un huevo duro...

ainsss

 :wink:[/quote]

Bueno espero que sea poco.....

Saludos


-----------------------------------
jguardon
Lunes, 02 Septiembre 2019, 20:15

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="tincho" post="46069"]
Otra cosa, yo tuve que correrlo con bash script.sh ya que con sh script.sh no funcionaba. [/quote]

Si lo haces ejecutable con [font=Courier New][b]chmod +x script.sh[/b][/font] luego lo puedes ejecutar desde su directorio con ./script.sh o bien desde cualquier lugar usando la ruta completa, por ejemplo /home/user/Scripts/script.sh y así no hace falta indicarle el intérprete que debe usar, que por otra parte, ya se lo has indicado en la primera línea mediante el shebang.

Saludos

PD: ver esto: https://stackoverflow.com/questions/10376206/what-is-the-preferred-bash-shebang


-----------------------------------
tincho
Lunes, 02 Septiembre 2019, 23:16

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="jguardon" post="46075"][quote user="tincho" post="46069"]
Otra cosa, yo tuve que correrlo con bash script.sh ya que con sh script.sh no funcionaba. [/quote]

Si lo haces ejecutable con [font=Courier New][b]chmod +x script.sh[/b][/font] luego lo puedes ejecutar desde su directorio con ./script.sh o bien desde cualquier lugar usando la ruta completa, por ejemplo /home/user/Scripts/script.sh y así no hace falta indicarle el intérprete que debe usar, que por otra parte, ya se lo has indicado en la primera línea mediante el shebang.

Saludos

PD: ver esto: https://stackoverflow.com/questions/10376206/what-is-the-preferred-bash-shebang[/quote]
ok, gracias por el dato. apuntado.
Saludos.


-----------------------------------
gambafeliz
Martes, 03 Septiembre 2019, 12:18

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="jguardon" post="46075"][quote user="tincho" post="46069"]
Otra cosa, yo tuve que correrlo con bash script.sh ya que con sh script.sh no funcionaba. [/quote]

Si lo haces ejecutable con [font=Courier New][b]chmod +x script.sh[/b][/font] luego lo puedes ejecutar desde su directorio con ./script.sh o bien desde cualquier lugar usando la ruta completa, por ejemplo /home/user/Scripts/script.sh y así no hace falta indicarle el intérprete que debe usar, que por otra parte, ya se lo has indicado en la primera línea mediante el shebang.

Saludos

PD: ver esto: https://stackoverflow.com/questions/10376206/what-is-the-preferred-bash-shebang[/quote]

Con esto que explicas, se puede decir, ¿que puedo hacer como un acceso directo con icono a un script?


-----------------------------------
shordi
Martes, 03 Septiembre 2019, 15:38

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote]
Con esto que explicas, se puede decir, ¿que puedo hacer como un acceso directo con icono a un script?[/quote]
Por supuesto.


-----------------------------------
gambafeliz
Martes, 03 Septiembre 2019, 18:31

Re: Necesito Un Shell Script Que Compare Versiones
-----------------------------------
[quote user="shordi" post="46084"][quote]
Con esto que explicas, se puede decir, ¿que puedo hacer como un acceso directo con icono a un script?[/quote]
Por supuesto.[/quote]

Es que yo todavía tengo que aprender en Linux cosas como que no se si es posible hacer acceso directo de un programa ejecutable y tampoco sé como instalar un paquete de instalación, por ejemplo, si quiero instalar Gambas en su versión última, pues no se todavía hacerlo.

Por ejemplo me bajo un comprimido con todo un programa para instalar y aunque lo descomprimo no se instalar. Tengo Synaptic que es el único camino que domino, pero no se como hacer, lo dicho, desde Synaptic. Por que por el monitor Debian nunca deja instalar nada siempre me dice que no están lo repositorios para empezar a descargar, y a lo mejor lo haces desde otro linux igual y si están los repositorios, seguro que es una restricción de Debian Stable. Digo yo, no es, que lo sepa.

Gracias por la info shordi, espero que reine mas o menos la paz en el work o se este andando a ello.

Saludos


