Introduction
Trois journaux d’application nécessitent le même contrôle simple : compter les lignes qui commencent par ERROR et afficher un résultat pour chaque fichier. Répéter manuellement les commandes est inutile lorsqu’une courte boucle peut traiter tous les fichiers .log.
Le laboratoire guidé précédent a construit exactement ce type de boucle, étape par étape. Ce défi vous demande de créer un petit script réutilisable, sans copier-coller supplémentaire, sans répertoire de rapports ni exigences particulières de gestion des erreurs.
Créer le script de synthèse des erreurs
Situation actuelle
/home/labex/project/log-automation/logs contient api.log, healthy.log et worker.log.
Périmètre
- Créez
/home/labex/project/log-automation/process-logs.sh. - Son premier argument doit être le répertoire contenant les journaux.
- Traitez les fichiers se terminant par
.log. - Pour chaque fichier, comptez les lignes commençant par
ERROR. - Affichez une ligne au format
filename errors=count.
Objectif
Laissez un script exécutable qui affiche la synthèse correcte des erreurs lorsqu’il est exécuté avec ./process-logs.sh logs.
Critères de validation
Le script commence par
#!/bin/bashet est exécutable../process-logs.sh logsaffiche :api.log errors=1 healthy.log errors=0 worker.log errors=2
Indices
Quel exemple guidé correspond le mieux à ce défi ?
Revoyez la boucle qui parcourait "$log_dir"/*.log, comptait les lignes ^ERROR et affichait le nom de base avec son compteur.
Résumé
Vous avez transformé une boucle familière de comptage dans les journaux en un court script Bash réutilisable.



