Linux/Unix Shell Scripting - Comparar dos variables en shell bash

 
Vista:
sin imagen de perfil

Comparar dos variables en shell bash

Publicado por Siecid (2 intervenciones) el 21/01/2017 16:26:39
Hola, soy nuevo en shell y me encuento con un problema que no se como resolver. Agradeceria cualquier ayuda desde ya, el problema es el siguiente
Tengo que comparar las inserciones que tengo en la base de datos "Mysql" y comparar con una lista de archivos que tengo en local en mi maquina , esto es lo que he hecho:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash
IFS='

'
host="192.168.1.10"
user="user"
pass="pass"
db="prueba"
 
 
 
for nv in $( ls *.mp4)
do
con=$(mysql -h ${host} -u ${user} -p${pass} -D ${db} -s -e 'select name from inprogr;')
 
done
###############################################################################
 
 
for x in "$con"
do
	V2["$x"]="$x"
done
 
echo "Lo que tengo en local y no el na base de datos:"
 
for i in "$nv"
do
  if [ -z ${V2["$i"]} ]
  	then
      		echo "$i"
  	fi
done
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comparar dos variables en shell bash

Publicado por xve (309 intervenciones) el 21/01/2017 19:36:11
Hola Siecid, estoy viendo tu código, y la verdad es que no lo entiendo muy bien...

la consulta SQL, la pones dentro de un bucle for... porque? no tiene ningun sentido, ya que no cambias nada de la consulta sql...

Entiendo que quieres comparar el resultado de la consulta con los archivos mp4?

Aquí exactamente que quieres hacer?
1
2
3
4
for x in "$con"
do
	V2["$x"]="$x"
done


Si me comentas con mas detalle, intento ayudarte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Comparar dos variables en shell bash

Publicado por siecid (2 intervenciones) el 22/01/2017 02:26:12
Gracias por responder,
Lo que intento es hacer una comparación entre la base de datos y los archivos que tengo en mi maquina los cuales irán aumentando y la diferencia insertarla en la base de datos. Ej si tengo 01.mp4 02.mp4 03.mp4 registrados en la base de datos, ahora si tengo 01.mp4 02.mp4 03.mp4 04.mp4 en mi maquina que me diga tienes 04.mp4 no existe en la base de datos para luego registrarlo.

1
2
3
4
for x in "$con"
do
	V2["$x"]="$x"
done
aqui lo que quiero es convertir mi consulta en array para luego comparar con los archivos que tengo en mi maquina y allar las diferencias y si las hay hacer in insert, Espero haber sido claro.

1
2
3
4
5
6
7
for i in "$nv"
do
  if [ -z ${V2["$i"]} ]
  	then
      		echo "$i"
  	fi
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar