Linux/Unix Shell Scripting - Validacion de Secuencias Faltantes

   
Vista:

Validacion de Secuencias Faltantes

Publicado por Daniel Gonzalez (3 intervenciones) el 01/12/2016 17:20:11
Hola que tal, tengo un .txt dentro de un servidor y necesito saber que secuencias(ultima columna) de cada una de los mediadores (mediador1, mediador2 etc) me hacen faltan, esto con shell script, para imprimirlas y llevarlas a otro archivo.
espero me pueda ayudar, les comparto el txt, considerando que la primer secuencia puede variar entre el 0000 hasta el 10000


|Mediador|GVY22|20161118|20161118| 6467
|Mediador|GVY22|20161118|20161118| 6469
|Mediador|GVY22|20161118|20161118| 6470
|Mediador|GVY22|20161118|20161118| 6471
|Mediador|GVY22|20161118|20161118| 6472
|Mediador|GVY22|20161118|20161118| 6475
|Mediador|GVY22|20161118|20161118| 6476
|Mediador|GVY22|20161118|20161118| 6477
|Mediador|GVY22|20161118|20161118| 6478
|Mediador|GVY22|20161118|20161118| 6479
|Mediador|GVY22|20161118|20161118| 6480
|Mediador|GVY22|20161118|20161118| 6481
|Mediador|GVY22|20161118|20161118| 6482
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

Validacion de Secuencias Faltantes

Publicado por Tom (277 intervenciones) el 01/12/2016 18:18:19
¿ Vas a tener el fichero ordenado por la secuencia (tal y como se ve en tu ejemplo) ?
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

Validacion de Secuencias Faltantes

Publicado por Daniel (3 intervenciones) el 01/12/2016 18:45:45
así es, estarán ordenadas de la menor a la mayor, es un consecutivo que va desde el 0000 hasta el 9999 y cuando llega a este ultimo se reinicia.
Gracias
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

Validacion de Secuencias Faltantes

Publicado por Tom (277 intervenciones) el 01/12/2016 19:25:29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
 
OLDSEQ=0
# Para probar:
OLDSEQ=6466
cut -d'|' -f6 test | while read SEQ
do
	if (( SEQ - OLDSEQ > 1 ))
	then
		for ((i=OLDSEQ+1; i<SEQ; i++))
		do
			echo "Lost: $i"
		done
	fi
	OLDSEQ=$SEQ
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

Validacion de Secuencias Faltantes

Publicado por Daniel (3 intervenciones) el 01/12/2016 19:49:48
perfecto y para identificar el primer secuencia utilizaría el head -1, muchas gracias
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