Python - Buscar texto con python y extraer parte del texto buscado.

 
Vista:
sin imagen de perfil
Val: 9
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

Buscar texto con python y extraer parte del texto buscado.

Publicado por Francisco (3 intervenciones) el 11/01/2019 14:30:42
Estimados. estoy desarrollando algo en python pero no logro dar con la solucion, esto puedo hacerlo via linea de comando linux de la siguiente manera.

1
cat archivo.txt | grep sda | awk '{print $2}'

tengo un archivo.txt y busco la palabra sda y una vez encontrado, extraer el segundo texto de esta linea.

sda = al texto que estoy buscando
awk '{print $2} le indico que necesito el segundo texto de esta linea.

ahora este es el contenido del archivo.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Linux 2.6.32-696.6.3.el6.x86_64 (SDERF009988)   11/01/19        _x86_64_        (8 CPU)
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          15,94    0,00    3,70    0,55    0,00   79,82
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda              15,69       608,70       414,62 1523183058 1037528000
sdb              10,58        52,33       316,35  130952370  791611272
sde               0,00         0,00         0,00       1592          0
sdd               0,00         0,00         0,00       1592          0
sdc             182,33      1064,16      4181,95 2662903004 10464681896
dm-0             15,20       260,25        15,06  651235914   37672840
dm-1              0,04         0,15         0,15     363744     380944
dm-2            531,86      1064,16      4181,95 2662901362 10464681896
dm-3             40,60        52,33       316,35  130950186  791611272
dm-4             49,24       344,38       382,52  861746786  957204088
dm-5              2,22         3,57        16,89    8928106   42269192


Necesito buscar la palabra "sda" o "sdb" u otro de esa columna y luego extraer el dato 15,69 y 608,70 como dato. Alguien tiene una idea.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Buscar texto con python y extraer parte del texto buscado.

Publicado por tincopasan (1082 intervenciones) el 11/01/2019 19:07:53
hay muchas maneras de hacer esto, lo que me molesta es:
1
estoy desarrollando algo en python... pero no logro dar con la solucion
¿y dónde está lo que has hecho?
esto es muy fácil y hay muchas maneras, depende de como quieras desarrollarlo, ahora, como estoy aburrido te muestro una forma, no es la mejor ni la peor, y como dije no es la única, pero si no entiendes esto que es lo más básico de python tendrás muchos problemas en tu desarrollo:
1
2
3
4
5
6
7
8
9
try:
   with open("archivo.txt") as archivo:
      for texto in archivo.readlines():
         linea=texto.split()
         if len(linea)!=0:
            if linea[0]=="sda":
               print(linea[0],linea[1],linea[2])
except FileNotFoundError:
   texto= None

obvio que esto es muy simple:
1) leer el archivo
2)convertir las lineas en listas
3)si la lista es mayor que 0 que compare el indice 0 con "sda"
4)si hay concurrencia que muestre los indíces 0,1 y 2 de la lista

como dije, muy simple.Hay cosas para verificar y mejorar pero ya tienes parte de la solución

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar