skillup

技術ブログ

サーバー・ネットワーク

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

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

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

ロジック

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

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

ソース

気づいたこと

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

参考リンク

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

bash 配列まとめ

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

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

awk コマンド

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

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

執筆者:


comment

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

関連記事

no image

CodeDeployに関して

近年のプロジェクトではアプリのデプロイに関して、サーバーに入ってgitコマンドを打つようなケースは減ってきており、何らかのデプロイツールを使ってやることが一般的。 Contents1 CIツールを使っ …

no image

ロードアベレージ監視シェルスクリプト

ロードアベレージの監視シェルスクリプトについて Contents1 使用コマンド1.1 uptime1.2 /proc/cpuinfo1.3 bc2 ソース3 他参考リンク 使用コマンド uptime …

no image

CIツールを使ったオートデプロイに関して

gitlabをあるプロジェクトで使っていますが、自動デプロイについて色々調べなんとかできたのでメモしておきます。 結論から書きますと下記のような手順でいけます。 1.まずデプロイしたいサーバーに鍵認証 …

no image

wordpressでのnginx設定

ここ1年、apacheではなく、nginxでサービスを作ることが多いため、設定にだいぶ慣れてきました。 今回はwordpressの設定です。 バーチャルホストでsample.comとアクセスをするとw …

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

アーカイブ