Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Faça como eu fiz. (Aula 3)

  1. Use o comando sort no terminal, para ordenar um arquivo de logs com final .filtrado de acordo com a data;

sort myapp-backend.log.filtrado
ou
sort -r myapp-backend.log.filtrado


  1. Redirecione a saída do comando sort para um arquivo usando a opção -o;

sort myapp-backend.log.filtrado -o logs-ordenados


  1. Adicione o comando sort no script;

#!/bin/bash

LOG_DIR="../myapp/logs"

echo "Verificando logs no diretorio $LOG_DIR"

find $LOG_DIR -name "*.log" -print0 | while IFS= read -r -d '' arquivo; do
grep "ERROR" $arquivo > "${arquivo}.filtrado"
grep "SENSITIVE_DATA" $arquivo >> "${arquivo}.filtrado"

     sed -i 's/User password is .*/User password is REDACTED/g' "${arquivo}.filtrado"
     sed -i 's/User password reset request with token .*/User password reset request with token REDACTED/g' "${arquivo}.filtrado"
     sed -i 's/API key leaked: .*/API key leaked: REDACTED/g' "${arquivo}.filtrado"
     sed -i 's/User credit card last four digits: .*/User credit card last four digits: REDACTED/g' "${arquivo}.filtrado"
     sed -i 's/User session initiated with token: .*/User session initiated with token: REDACTED/g' "${arquivo}.filtrado"

     sort "${arquivo}.filtrado" -o "${arquivo}.filtrado"

done


  1. & 5.

uniq myapp-backend.log.filtrado > logs-sem-duplicatas


  1. Adicione o comando uniq no script, salvando sua saída em um arquivo com final .unico;

uniq "${arquivo}.filtrado" > "${arquivo}.unico"


7.

diff myapp-backend.log myapp-backend.log.unico

1 resposta
solução!

Oi, Laís! Como vai?

Agradeço por compartilhar.

Gostei do modo como você estruturou o script, organizando os comandos grep, sed, sort e uniq para processar os logs. A sequência faz sentido e mostra que você entendeu bem o fluxo de filtragem e ordenação dos arquivos.

Continue explorando os comandos do Linux e testando diferentes combinações.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!