[SOLUCIONADO] Expresiones regulares

Iniciado por Electrónico, Diciembre 11, 2016, 08:03:31 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Diciembre 11, 2016, 08:03:31 AM Ultima modificación: Diciembre 17, 2016, 08:38:38 AM por Gabriela
Buenas a tod@s:

Estoy haciendo un script donde se consulta el parte meteorológico de una ubicación en concreto. Como resultado, me da un archivo con los resultados. En el archivo hay unos códigos para pintar de colores el parte meteorológico y sea más ameno, ya que se pintan la forma de las nubes, el sol, etc, y con colores queda más vistoso.

En el terminal queda muy bonito. Pero yo quiero mandar este archivo por correo como fichero adjunto, y si se abre con un editor de textos que no sea el sublimetext o el atom, se ve mal, ya que no es capaz de interpretar el código de colores. Por lo tanto, deseo quitarlos.

El código de colores va comprendido entre "[" y "m". He conseguido quitar el "[" sin embargo lo que hay detrás hasta la m (esta incluida) no he podido. Y solo me ha funcionado en algunos casos. Ejemplo:
38;5;226m    \   /    [0 Sunny
    16    38;5;226m     .-.      10 °C[0

He probado con esta expresión regular:

Código: php
cat -n prova.txt | sed 's/\[\(.*\)m/\1/g' > prova_final.txt


Os adjunto el fichero para que veáis que formato tiene:

Código: php
 
Weather for City: Madrid, Spain

    \   /     Sunny
     .-.      11 °C         
  ― (   ) ―   ↓ 0 km/h       
     `-'      10 km         
    /   \     0.0 mm         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Sun 11. Dec ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Sunny          │     \   /     Sunny          │     \   /     Clear          │     \   /     Clear          │
│      .-.      10 °C          │      .-.      15 °C          │      .-.      14 °C          │      .-.      11 °C          │
│   ― (   ) ―   ↓ 1 – 2 km/h   │   ― (   ) ―   ↑ 2 – 3 km/h   │   ― (   ) ―   ↗ 6 – 12 km/h  │   ― (   ) ―   ↘ 5 – 8 km/h   │
│      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Mon 12. Dec ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Sunny          │     \   /     Sunny          │     \   /     Clear          │     \   /     Clear          │
│      .-.      9 – 10 °C      │      .-.      15 °C          │      .-.      13 °C          │      .-.      10 – 11 °C     │
│   ― (   ) ―   ↓ 4 – 5 km/h   │   ― (   ) ―   ↑ 1 – 3 km/h   │   ― (   ) ―   ↗ 4 – 5 km/h   │   ― (   ) ―   ↘ 4 – 6 km/h   │
│      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤ Tue 13. Dec ├───────────────────────┬──────────────────────────────┐
│           Morning            │             Noon      └──────┬──────┘    Evening            │            Night             │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│     \   /     Sunny          │     \   /     Sunny          │     \   /     Clear          │     \   /     Clear          │
│      .-.      9 °C           │      .-.      13 °C          │      .-.      13 °C          │      .-.      11 °C          │
│   ― (   ) ―   ↖ 2 – 3 km/h   │   ― (   ) ―   ↖ 3 km/h       │   ― (   ) ―   ↙ 1 – 3 km/h   │   ― (   ) ―   ↙ 1 – 2 km/h   │
│      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │      `-'      10 km          │
│     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │     /   \     0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘

Check new Feature: wttr.in/Moon or wttr.in/Moon@2016-Mar-23 to see the phase of the Moon
Follow @igor_chubin for wttr.in updates



Muchas gracias de antemano.

Cuando lo tenga fino publicaré un tutorial para que lo podáis replicar :)

Te sirve esto? No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Buenas a tod@s:

Gracias, le echaré una ojeada porque tiene buena pinta.

Lo pruebo y te comento.

Muchas gracias :)

Buenas a tod@s:

Al final, el link que me pasastes seth, no lo he tenido que utilizar, pero muchas gracias igualmente.

Al final he hecho que me busque los patrones que quería eliminar y me los elimine. Y ahora ya me sale bien.

Pero igualmente muchas gracias por la herramienta