はじめに
3 つのアプリケーションログに対して、同じ簡単な確認が必要です。ERROR で始まる行を数え、ファイルごとに 1 行ずつ結果を表示します。短いループですべての .log ファイルを処理できるため、コマンドを手動で繰り返す必要はありません。
直前のガイド付き実験では、この種類のループを手順に沿って作成しました。このチャレンジでは、余分なコピー、レポート用ディレクトリ、エラー処理を追加せずに、再利用できる小さなスクリプトを 1 つ作成します。
エラー集計スクリプトを作成する
現在の状況
/home/labex/project/log-automation/logs には、api.log、healthy.log、worker.log が含まれています。
作業範囲
/home/labex/project/log-automation/process-logs.shを作成します。- 1 番目の引数を、ログが格納されているディレクトリとして使用します。
.logで終わるファイルを処理します。- 各ファイルで、
ERRORで始まる行を数えます。 - 各ファイルについて、
filename errors=count形式の 1 行を表示します。
目標
./process-logs.sh logs として実行したときに、正しいエラー集計を表示する実行可能スクリプトを 1 つ完成させます。
合格条件
スクリプトが
#!/bin/bashで始まり、実行可能になっていること。./process-logs.sh logsを実行すると、次の内容が表示されること。api.log errors=1 healthy.log errors=0 worker.log errors=2
ヒント
どのガイド付きの例が最も近いですか?
"$log_dir"/*.log を順番に処理し、^ERROR の行を数え、ファイル名と件数を表示したループを復習してください。
まとめ
ログの件数を数えるおなじみのループを、短く再利用できる Bash スクリプトにまとめました。



