remover duplicados

1. remover duplicados

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 24/07/2022 - 14:06h


Olá,

Pessoal estou desenvolvendo um projeto para operações binárias, no qual em um arquivo .txt vou ter o seguinte conteúdo:

01:00,EURGBP,CALL
01:20,EURUSD,PUT
01:40,EURUSD,PUT
02:00,EURJPY,CALL
02:20,EURJPY,CALL
03:20,EURUSD,CALL
04:00,EURUSD,PUT
04:40,EURUSD,CALL
05:00,EURGBP,CALL
06:00,EURJPY,PUT
06:20,EURJPY,CALL
07:00,EURGBP,CALL

Primeira coluna horário
Segundo coluna ativo
Terceira coluna direção

A minha duvida é a seguinte:
Estou tentando remover ativos que estão muito próximos exemplo:
01:20,EURUSD,PUT
01:40,EURUSD,PUT

A ideia seria remover o ativo 01:20,EURUSD,PUT mantendo somente 01:40,EURUSD,PUT
da mesma forma remover 02:00,EURJPY,CALL e manter somente 02:20,EURJPY,CALL

O objetivo seria deixar assim a lista

01:00,EURGBP,CALL
01:40,EURUSD,PUT
02:20,EURJPY,CALL
04:40,EURUSD,CALL
05:00,EURGBP,CALL
06:20,EURJPY,CALL
07:00,EURGBP,CALL

Porem fiquei sem rumo, pois fazer como eu preciso eu conseguiria salvando em um banco de dados, mas seria algo mais trabalhoso.

tentei o comando sort | uniq mas no caso ele remove se for duplicados exatamente iguais

Se alguém tiver alguma ideia de comandos que eu posso utilizar ficarei agradecido.













  


2. Re: remover duplicados

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 24/07/2022 - 21:26h


Acho que você tem de definir o que é proximidade para algoritmo e fazer um pré processamento. Poderia haver vários simbolos na sequência distando tempos variáveis.



3. Re: remover duplicados

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 26/07/2022 - 17:29h


conectadohost escreveu:


Olá,

Pessoal estou desenvolvendo um projeto para operações binárias, no qual em um arquivo .txt vou ter o seguinte conteúdo:

01:00,EURGBP,CALL
01:20,EURUSD,PUT
01:40,EURUSD,PUT
02:00,EURJPY,CALL
02:20,EURJPY,CALL
03:20,EURUSD,CALL
04:00,EURUSD,PUT
04:40,EURUSD,CALL
05:00,EURGBP,CALL
06:00,EURJPY,PUT
06:20,EURJPY,CALL
07:00,EURGBP,CALL

Primeira coluna horário
Segundo coluna ativo
Terceira coluna direção

A minha duvida é a seguinte:
Estou tentando remover ativos que estão muito próximos exemplo:
01:20,EURUSD,PUT
01:40,EURUSD,PUT

A ideia seria remover o ativo 01:20,EURUSD,PUT mantendo somente 01:40,EURUSD,PUT
da mesma forma remover 02:00,EURJPY,CALL e manter somente 02:20,EURJPY,CALL

O objetivo seria deixar assim a lista

01:00,EURGBP,CALL
01:40,EURUSD,PUT
02:20,EURJPY,CALL
04:40,EURUSD,CALL
05:00,EURGBP,CALL
06:20,EURJPY,CALL
07:00,EURGBP,CALL

Porem fiquei sem rumo, pois fazer como eu preciso eu conseguiria salvando em um banco de dados, mas seria algo mais trabalhoso.

tentei o comando sort | uniq mas no caso ele remove se for duplicados exatamente iguais
Se alguém tiver alguma ideia de comandos que eu posso utilizar ficarei agradecido.

Marcio, boa tarde.
Dei uma checada, e não cheguei a "uma lógica".
EURGBP,CALL, tem 3 ocorrências, e vc quer o menor|maior horário:
grep 'EURGBP' texto.txt|sort -t"," -nk1
01:00,EURGBP,CALL
05:00,EURGBP,CALL
07:00,EURGBP,CALL
-----------------------------------------------------------------------------
Já em EURUSD, tbem com 3 casos, vc precisa do intermediário, e do maior....
01:20,EURUSD,PUT
01:40,EURUSD,PUT
04:00,EURUSD,PUT

-----------------------------------------------------------------------------------------------------------------
Por enquanto, nada conclusivo.....


______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts