Linuxでファイルの末尾に指定した行数を一気に追加する方法

以前記事にしたtail
を利用したログ監視のテストとして、ログファイルに1行ずつ書く場合は単純にecho
コマンドを使えばいいが、ログが一気に出力された時にちゃんと差分を見ているのか確認するには一気に複数行追加する必要がありました。
今回はログを監視して、メッセージに特定の文字列が表示されたら、シェルスクリプトの指定したアクションで、メッセージの内容を利用した処理を行うのが目的です。例えば、WEBサーバーのログに「404」の文字列が表示されたらゴニョゴニョするなどです。運用・管理面... 【Linux】tailコマンドを利用してリアルタイムでログ監視 - Minory |
ファイルに複数行追加
繰り返しのfor文
開発経験者なら当たり前ですが、処理を繰り返すためにfor
やwhile
といった構文が、どのプログラミング言語にも用意されています。
tail
を利用したログ監視の記事ではwhile
を使用していましたね。
まずは見やすいように、シェルスクリプト形式で複数行&インデント付きで解説していきます。
for i in {1..10}
do
echo "test${i}" >> test.log
done
1行目はこのようになります。
for [変数名] in {[開始]..[終了]}
つまり、変数iがdo
~done
の中で1から10まで繰り返すということ。
結果は”test~“の後ろに連番が付きます。
1行のコマンドとして
上記の内容をたった1行のコマンドとして表すとこのようになります。
for i in {1..10}; do echo "test${i}"; done >> test.log
今後、色々なテストで使えそうですね!
コメント
コメントを投稿