On 2020-07-01 16:46, Ulises Gonzalez Horta wrote:

On 2020-07-01 11:07, Tec. Comunicaciones Transgaviota Centro wrote:

Tengo un fichero de texto que tiene xyz módulos como este que pego a continuación

Todos los módulos tienen en común que empiezan con APP_LoTW_OWNCALL y terminan con <eor>

 

Pero se necesita que esos modulos sean exportados a otro fichero de texto en una sola línea los siguientes datos

SM7IUN               30M       10.13833              FT8         20200628             040615

 

Que son los valores de algunas de las filas, pues esos datos se necesitan luego para pegarlos en un Excel.

 

Cualquier ayuda desde ya se agradece.

 

 

<APP_LoTW_OWNCALL:4>T46W

<STATION_CALLSIGN:4>T46W

<CALL:6>SM7IUN

<BAND:3>30M

<FREQ:8>10.13833

<MODE:3>FT8

<APP_LoTW_MODEGROUP:4>DATA

<QSO_DATE:8>20200628

<APP_LoTW_RXQSO:19>2020-06-30 12:42:29 // QSO record inserted/modified at LoTW

<TIME_ON:6>040615

<APP_LoTW_QSO_TIMESTAMP:20>2020-06-28T04:06:15Z // QSO Date & Time; ISO-8601

<QSL_RCVD:1>Y

<QSLRDATE:8>20200630

<APP_LoTW_RXQSL:19>2020-06-30 12:42:29 // QSL record matched/modified at LoTW

<eor>

 

<APP_LoTW_OWNCALL:4>T46W

<STATION_CALLSIGN:4>T46W

<CALL:6>KC9GHA

<BAND:3>30M

<FREQ:8>10.13833

<MODE:3>FT8

<APP_LoTW_MODEGROUP:4>DATA

<QSO_DATE:8>20200628

<APP_LoTW_RXQSO:19>2020-06-30 12:42:29 // QSO record inserted/modified at LoTW

<TIME_ON:6>040345

<APP_LoTW_QSO_TIMESTAMP:20>2020-06-28T04:03:45Z // QSO Date & Time; ISO-8601

<QSL_RCVD:1>Y

<QSLRDATE:8>20200630

<APP_LoTW_RXQSL:19>2020-06-30 12:42:29 // QSL record matched/modified at LoTW

<eor>

 

Saludos Cordiales,

 

M.Sc. Wilfredo Martínez Consuegra

Técnico en Comunicaciones

Transgaviota CENTRO

Cayo Las Brujas, Villa Clara.

 

Teléfono Trabajo: +53  42 350080 ext 116

Teléfono Celular: +53 53 664 665

 

www.gaviota-grupo.com

Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: tra-06  Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: f-02  Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: t-02    

Descripción: Descripción: PIE DE FIRMA-01

 

   

 


_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-leave@listas.jovenclub.cu


Supon que pones todo eso en un archivo llamado sample, entoces puedes correr algo como 


ulises@ulises-kub:/tmp$ paste -s sample  | sed -r 's/<eor>/\r\n/'  | awk '{ print $3" "$4" "$5" "$6" "$8" "$17 }' | sed 's/<CALL:6>//;s/<BAND:3>//;s/<FREQ:8>//;s/<MODE:3>//;s/<QSO_DATE:8>//;s/<TIME_ON:6>//'

Para obtener el resultado....


SM7IUN 30M 10.13833 FT8 20200628 040615
KC9GHA 30M 10.13833 FT8 20200628 040345


Se que el ultimo sed es una puercada, se que hay una forma de decirle a sed que en lugar de abarcar lo mas que pueda con una regex solo abarque lo menos posible, pero ahora luego de buscar un poco no he encontrado la opcion, pero yo se que existe pues la use anhos atras, si la encuentras toda esa linea se puede simplificar a algo como

paste -s sample  | sed -r 's/<eor>/\r\n/'  | awk '{ print $3" "$4" "$5" "$6" "$8" "$17 }' | sed -r 's/<.*>//N'


Donde solo cambiarias la "N" final por la letra que toca, pues creo que era algo que se ponia al final, pero no estoy seguro, de momento puedes usar el seboruco ese para hacer el trabajo sucio de una forma un poco sucia

Como ya te dije el archivo sample tiene los datos que diste

ulises@ulises-kub:/tmp$ cat sample
<APP_LoTW_OWNCALL:4>T46W

<STATION_CALLSIGN:4>T46W

<CALL:6>SM7IUN

<BAND:3>30M

<FREQ:8>10.13833

<MODE:3>FT8

<APP_LoTW_MODEGROUP:4>DATA

<QSO_DATE:8>20200628

<APP_LoTW_RXQSO:19>2020-06-30 12:42:29 // QSO record inserted/modified at LoTW

<TIME_ON:6>040615


(...)


Suerte

--
Salu2, Ulinx
"En un problema con n ecuaciones
siempre habrá al menos n+1 incógnitas"
Linux user 366775
Quieres saber de Cuba o visitar Cuba, revisa mi canal Youtube (en español) http://bit.ly/Alocubano

_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-leave@listas.jovenclub.cu


La misma pero mas bonita


paste -s sample  | sed -r 's/<eor>/\r\n/'  | awk '{ print $3" "$4" "$5" "$6" "$8" "$17 }' | sed -r 's/<.{4,8}:[0-9]>//g'



--
Salu2, Ulinx
"En un problema con n ecuaciones
siempre habrá al menos n+1 incógnitas"
Linux user 366775
Quieres saber de Cuba o visitar Cuba, revisa mi canal Youtube (en español) http://bit.ly/Alocubano