Consulta sobre script
Publicado por Alfonso (5 intervenciones) el 03/07/2008 12:44:04
Buenos Dias, tengo un pequeño problemilla con un script que tengo echo. El script tiene que recorrer un fichero de unas 250.000 lineas buscado unos valores en concreto. El script ya lo tengo echo pero el problema es que se eterniza recorriendo el fichero. Os pego parte del codigo que realiza este script y haber si alguien me puede decir como realizar este mismo proceso pero de una manera más productiva( o sea más rapida).
Pues lo que quiero es poder realizar este script pero que sea mas efectivo a la hora de recorrer el fichero.
Muchas Gracias por adelantado.
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# <-- Inicio del Script
#!/bin/bash
nomfic=$1
fecha=$(date +%y-%m-%d)
# <-- Estos son los valores a buscar
valor1="valor1"
valor2="valor2"
valor3="valor3"
Valor4="valor4"
Valor5="valor5"
valor6="valor6"
valor7="valor7"
valor8="valor8"
valor9="valor9"
valor10="valor10"
valor11="valor11"
# <-- Iniciamos el recorrido por el fichero y vamos comprobado valores hasta encontrar los validos
while read line ; do
echo ${line} | grep $valor1
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor2
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor3
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor4
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor5
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor6
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor7
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor8
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor9
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor10
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
echo ${line} | grep $valor10
case $? in
0)
echo ${line} >> Resultado-$fecha.txt
;;
esac
# <-- Contador de Lineas recorridas
echo $(( `cat cont` + 1 )) > cont
echo "*******************"
cat cont
# <-- Fichero pasado como parametro.
done <<< "`cat $nomfic`"
Pues lo que quiero es poder realizar este script pero que sea mas efectivo a la hora de recorrer el fichero.
Muchas Gracias por adelantado.
Valora esta pregunta


0