skillup

技術ブログ

サーバー・ネットワーク

ログ抽出コマンド特集 その2 シェルスクリプトの算術計算、配列とループ

投稿日:2016年4月5日 更新日:

前回の続きですが、ログを収集し、分布(80%台が~%、70%台が~%)を出したいとします。

ロジック

ロジックは以下のような流れになりました。

  1. ログからメモリ使用率を数字として取込
  2. 配列として格納
  3. 各使用率ごとに計算
  4. 最後に%の出力

ソース

気づいたこと

  • 算術式を使うときは(())でくくり、$はいらない。結果を文字列として出力するときは$を付ける
  • 通常の算術式だと小数点まででない。使いたいときはbcを使うか最初にawkで計算をする

参考リンク

シェルで変数のインクリメントに expr を使うと100倍遅い件

bash 配列まとめ

逆引きシェルスクリプト/スペース区切りの文字列を配列に格納する方法

配列の全要素をループで取得する

awk コマンド

多分もっと効率のいい方法はあるんだろうけど、とりあえず最初はこれで妥協。

-サーバー・ネットワーク
-, , ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

nginxのデバッグ

今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。 まず任意の文字や変数をログに出すことができます。 Contents1 変数の出力1.1 rewriteデバッグ2 小ネタ 変数の出 …

no image

journald

CentOS7では従来のsyslogデーモンと並行してjournaldというログ管理サービスがあります。 Contents1 コマンド一覧2 参考図書・リンク コマンド一覧 [crayon-61002 …

no image

dockerコマンドについて再考(ttyや/bin/bashなど)

Contents1 ttyオプションに関して2 docker execコマンドに関して2.1 ログインしないパターン2.2 shellに関して ttyオプションに関して dockerでnodeを起動さ …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

Sambaインストール

オフィスでサーバーをたてていますが、普段使っているメインのPCとのファイルのやりとりをSFTPクライアントなどでするのが面倒くさいので、同期させるためにSambaをインストールしました。 環境ですが、 …