Script BASH – Array asociativo para contabilizar la cantidad de errores por tipo desde un archivo de LOG.

#!/bin/bash

# Archivo de log
archivo_log="archivo.log"

# Declaración de array asociativo para contabilizar errores
declare -A errores

# Leer archivo de log línea por línea
while read -r linea; do
  # Extraer el tipo de error de la línea
  tipo_error=$(echo "$linea" | cut -d ':' -f 1)

  # Incrementar la cuenta de errores en el array asociativo
  ((errores["$tipo_error"]++))
done < "$archivo_log"

# Mostrar resultados
echo "Cantidad de errores por tipo:"
for tipo_error in "${!errores[@]}"; do
  echo "Tipo: $tipo_error - Cantidad: ${errores[$tipo_error]}"
done

En este ejemplo, se utiliza un array asociativo en bash (errores) para contabilizar la cantidad de errores por tipo desde un archivo de log ($archivo_log). El archivo de log se lee línea por línea utilizando un bucle while y el comando read, y luego se utiliza el comando cut para extraer el tipo de error de cada línea, asumiendo que los errores están separados por dos puntos («:») en el archivo de log. Luego, se incrementa la cuenta de errores en el array asociativo utilizando la sintaxis errores["$tipo_error"]++.

Finalmente, se muestra el resultado en la salida, iterando sobre las claves del array asociativo ("${!errores[@]}") y mostrando el tipo de error y la cantidad de errores correspondiente utilizando la sintaxis ${errores[$tipo_error]}.

Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *