Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Duvida no arquivo gerado no vídeo sobre o uso do SORT

Após ler a sugestão do colega no tópico https://cursos.alura.com.br/forum/topico-sugestao-observacao-importante-antes-de-aplicar-o-comando-sort-sugestao-de-correcao-536179, executei o script e a saída sai ordenada por data e separa em TAGS, diferente do resultado apresentado no vídeo da aula e fiquei com a sensação de fiz algo errado.
A propósito qual seria a saída mais adequada?
Será que não prestei atenção a algum detalhe?

#!/bin/bash

LOG_DIR="../myapp/logs"
ARQUIVO_DIR="../myapp/logs-processados"

mkdir -p $ARQUIVO_DIR

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"

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

num_palavras=$(wc -w < "${arquivo}.unico")
num_linhas=$(wc -l < "${arquivo}.unico")

nome_arquivo=$(basename "${arquivo}.unico")

echo "Arquivo: $nome_arquivo" >> "${ARQUIVO_DIR}/log_stats_$(date +%F).txt"
echo "Numero de linhas: $num_linhas" >> "${ARQUIVO_DIR}/log_stats_$(date +%F).txt"
echo "Numero de palavras: $num_palavras" >> "${ARQUIVO_DIR}/log_stats_$(date +%F).txt"
echo "---------------------------------" >> "${ARQUIVO_DIR}/log_stats_$(date +%F).txt"

if [[ "$nome_arquivo" == *frontend* ]]; then
    sed 's/^/[FRONTEND] /' "${arquivo}.unico" >> "${ARQUIVO_DIR}/logs_combinados_$(date +%F).log" 
elif [[ "$nome_arquivo" == *backend* ]]; then
          sed 's/^/[BACKEND] /' "${arquivo}.unico" >> "${ARQUIVO_DIR}/logs_combinados_$(date +%F).log"
else
    cat "${arquivo}.unico" >> "${ARQUIVO_DIR}/logs_combinados_$(date +%F).log"
fi

done

sort -k2 "${ARQUIVO_DIR}/logs_combinados_$(date +%F).log" -o "${ARQUIVO_DIR}logs_combinados_$(date +%F).log"