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 [1] 
>> 
>> [2]   [3]     
>> 
>> _______________________________________________
>> Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
>> To unsubscribe send an email to gutl-l-le...@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-le...@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 

Links:
------
[1] http://webmail.ulinxonline.net/./#NOP
[2] https://www.facebook.com/TransGaviotaCuba/?ref=ts&amp;fref=ts
[3] https://twitter.com/transgaviota
_______________________________________________
Gutl-l mailing list -- gutl-l@listas.jovenclub.cu
To unsubscribe send an email to gutl-l-le...@listas.jovenclub.cu

Responder a