Eu tenho dois arquivos csv com algumas informações de log.
Eu preciso comparar linha a linha do campo1 (arquivo1) com o campo2 (arquivo2) com um intervalo de 1 minuto (-00: 00: 01 < time < 00:00:01) e o campo5 (file1) com o campo3 ( arquivo2). Se eles corresponderem, copie field3 (input2) para a saída e imprima os próximos campos do arquivo1, senão escreva "NOACT".
Eu tentei com awk
, join
e python
, mas não funcionou.
arquivo1 (55000000 linhas):
19:15:30.047315,184.125.142.179,87492,174.145.246.178,87961,.,7648919765,145,767942442,896450764,1
19:15:30.047578,184.125.142.185,87492,174.145.246.132,52364,.,7648919765,145,767942442,896450764,1
19:15:31.047315,184.125.142.145,87492,174.145.246.158,52364,.,7648919765,145,767942442,896450764,1
19:15:31.049687,184.125.142.145,87492,174.145.246.158,44444,.,7648919765,145,767942442,896450764,1
19:15:32.049687,184.125.142.145,87492,174.145.246.158,44454,.,7648919765,145,767942442,896450764,1
Arquivo2 (25000 linhas):
19:15:30,187.173.121.63,42347,NOT
19:15:30,187.173.121.63,52364,OK
19:15:30,187.173.121.63,52364,OK
19:15:32,145.246.158,44444,NOT
Resultado esperado:
19:15:30.047315,184.125.142.179,87492,174.145.246.178,87961,.,7648919765,145,767942442,896450764,1,NOACT
19:15:30.047578,184.125.142.185,87492,174.145.246.132,52364,.,7648919765,145,767942442,896450764,1,OK
19:15:31.047315,184.125.142.145,87492,174.145.246.158,52364,.,7648919765,145,767942442,896450764,1,NOACT
19:15:31.049687,184.125.142.145,87492,174.145.246.158,44444,.,7648919765,145,767942442,896450764,1,NOT
19:15:32.049687,184.125.142.145,87492,174.145.246.158,44454,.,7648919765,145,767942442,896450764,1,NOACT
Exemplo
arquivo1:
A11 A12 A13 A14 A15 A16 A17 A18 A19 A110
A21 A22 A23 A24 A25 A26 A27 A28 A29 A210
A31 A32 A33 A34 A35 A36 A37 A38 A39 A310
arquivo2:
B11 B12 B13
B21 B22 B23
B31 B32 B33
Eu preciso ver se B11 corresponde a A11 e, em caso afirmativo, ver se B12 corresponde a A15. Em caso afirmativo, escreva a primeira linha de saída (outline1 = inputAline1 & B13), caso contrário, vá para a próxima linha de B. Se nenhuma correspondência for encontrada, escreva a primeira linha de A & "NOACT".