Copia texto específico de um arquivo para outro

1

Eu tenho um arquivo de texto com esta aparência:

Start find in flight queries
2018-03-05 15:50:02,069:INFO:######################################
Start find completed queries
2018-03-05 15:50:02,070:INFO:Starting new HTTPS connection (1): server060
2018-03-05 15:50:02,083:DEBUG:"GET /queries?json HTTP/1.1" 401 0
2018-03-05 15:50:02,084:INFO:Resetting dropped connection: server060
2018-03-05 15:50:02,095:DEBUG:"GET /queries?json HTTP/1.1" 200 19059
2018-03-05 15:50:02,099:INFO:######################################
Start find in flight queries

A data e a hora mudam a cada 5 minutos. Preciso copiar a data e a hora da última última para outro arquivo. Neste exemplo, é 2018-03-05 15:50:02. Qualquer sugestão é apreciada. Eu usei um pouco de regex no passado, mas não é bom nisso.

    
por user3508766 05.03.2018 / 22:00

2 respostas

2
Solução

tac + grep :

tac input.txt | grep -Eo -m1 '^[0-9]{4}(-[0-9]{2}){2} [0-9]{2}(:[0-9]{2}){2}' > last_date.txt
    
por 05.03.2018 / 22:06
1

Usando sem canos;)

awk -F'[ ,]' '
    /^[0-9]{4}-[0-9]{2}-[0-9]{2}\s+[0-9]{2}:[0-9]{2}:[0-9]{2}/
    {var=$1" "$2}
    END{print var}
' file
    
por 05.03.2018 / 22:30