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(a)listas.jovenclub.cu
> To unsubscribe send an email to gutl-l-leave(a)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(a)listas.jovenclub.cu
To unsubscribe send an email to gutl-l-leave(a)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)