shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[shell-script-pt] Ayuda con SED


From: T.Collons
Subject: [shell-script-pt] Ayuda con SED
Date: Sat, 21 Mar 2020 00:43:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

Hola a todos


Tengo un problema, con el que ya no se como solucionar:

Quiero añadir código html a un fichero de texto para poder enviarlo por email, estoy intentando hacerlo con SED y casi lo he conseguido, pero me queda un paso que me tiene loco.

Aquí os pongo el fichero de texto original, que recojo de Calc con cvs

1 - ;Instal·lació Dispositius; Anul·lada; NIU 93xxxxxxx;TLA LI-VI;;;;;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.
2 - ;Manteniment Dispositius; Anul·lada per Central; NIU 6
xxxxxxx;TLA LI-VI;;;;;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.
3 - ;Instal·lació Dispositius; Tasca finalitzada OK; NIU
6xxxxxxx;TLA LI-GSM;;;;;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.
4 - ;Instal·lació Dispositius; Anul·lada per Central; NIU
93xxxxxxx;TLA LI-GSM;;;;;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.
5 - ;Canvi Domicili; Tasca finalitzada OK; NIU
93xxxxxxx; TLA LI-VI;;;;;;
6 - ;Desconnectat; Tasca finalitzada OK; NIU
6xxxxxxx; TLA LI-GSM;;;;;;
7 - ;Manteniment Dispositius; Anul·lada per Central; NIU
6xxxxxxx;;;;;;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.

Cada linea empieza con un numero y en función de los datos tiene mas o menos campos separados por ;

Ahora mismo necesito tres lineas de código para enviar el correo y son estas.

Aquí genero el primer fichero con código una parte de código html incluido

cat ~/Documents/Tele/temps-2.csv | sed -r 's/-\ ;/-\ /g;  s/\ +/\ /g; s/(.*;[^;]+);.*/\1./;G; s/\x0A/<\/strong><\/font><\/span><p><\/div>\x0A\x0A<div>/g;s/1 -/<p><div>1 -/;s|(.*);(.*);(.*);(.*);(.*);(.*);(.*);(.*);(.*)|\1;\2;\3;\4;\5;\6;\7;\8<span><font color=#0000ff size=2em><strong>\9<\/strong><\/font><\/span>|'| sed -r 's/Tasca\ finalitzada\ OK/<span><font color=#0000ff size=2em><strong>Tasca\ finalitzada\ OK<\/strong><\/font><\/span>/g;s/Tasca\ pendent/<span><font color=#ff0000 size=2em><strong>Tasca\ pendent<\/strong><\/font><\/span>/g;s/Anul·lada per Central/<span><font color=#ff0000 size=2em><strong>Anul·lada per Central<\/strong><\/font><\/span>/g;s/Anul·lada/<span><font color=#ff0000 size=2em><strong>Anul·lada<\/strong><\/font><\/span>/g;' > ~/Documents/Tele/temp-3.html

Aquí recojo el segundo archivo y intento que el tercer campo reciba el código html, pero solo ocurre en las lineas 5 y 6 en las demás el campo que recibe el código html es el cuarto y no entiendo porque.

cat temp-3.html | sed -r 's/;+/;\ /g' | sed -r 's|(.*);(.*);(.*);|\1\2;<span><font color=#0000ff size=2em><strong>\3<\/strong><\/font><\/span>;|' > temp-4.html


mail -s "temp-4.html" address@hidden -a"Content-Type: text/html; charset=\"utf-8\"" < ~/Documents/Tele/temp-4.html

El ejemplo de lo que quiero que se reciba por correo ha de ser asi

6 - Desconnectat; Tasca finalitzada OK; NIU 6xxxxxxx; TLA LI-GSM
7 - Manteniment Dispositius; Anul·lada per Central; NIU
6xxxxxxx; TLA LI-GSM ;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.


Y lo que se recibe es esto

6 - Desconnectat; Tasca finalitzada OK; NIU 6xxxxxxx; TLA LI-GSM
7 - Manteniment Dispositius; Anul·lada per Central; NIU
6xxxxxxx; TLA LI-GSM ;Comunicat a la persona usuària que no es fan tasques que no siguin prioritàries a fi de no contagiar-los o contagiar-nos. Se l’informa que un cop passat l’estat d'emergència sanitària es tornara a programar la visita normalment.



Agradeceré cualquier sugerencia. Gracias y perdon por el rollo.


--



Pere

address@hidden




------------------------------------

AVIS LEGAL

Nota de confidencialitat: Aquest missatge podria contenir missatges d'empresa i altre informació confidencial tutelada per les lleis de Europea i altres estats, Si Vostè el rep per error o sense ser una de les persones esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni revelar-l'ho o qualsevol altre acció relacionada amb el contingut del missatge i notificar-ho per correu electrònic a l'emissor del missatge.

Les persones o entitats que incompleixin els deures de confidencialitat podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de la legislació civil, penal i administrativa nacional i internacional.  

Gracies per la seva cooperació.

------------------------------------

LEGAL NOTICE

Confidentiality notice: This mail may include business and other confidential information protected under the laws of and other territories. if you are not one of the intended recipients of the message, you are legally obliged to delete the message content. Furthermore, you are kindly requested to report immediately the incident to the sender.

Breach of confidentiality duties is a serious criminal offence in and other territories. Offenders shall be legally prosecuted worldwide. 

Thank you for your cooperation.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]