skillup

技術ブログ

サーバー・ネットワーク

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

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

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

ロジック

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

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

ソース

気づいたこと

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

参考リンク

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

bash 配列まとめ

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

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

awk コマンド

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

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

執筆者:


comment

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

関連記事

no image

CSRF(クロスサイト・リクエスト・フォージェリ)

Contents1 CSRF(クロスサイト・リクエスト・フォージェリ)とは?2 被害3 対策4 参考(トークンチェック) CSRF(クロスサイト・リクエスト・フォージェリ)とは? ウェブサイトの中には …

no image

nginx基本

データベースについて勉強していましたが、実務でnginxを触る機会があったので、これを機に勉強。 Contents1 参考文献2 nginx基礎3 コアモジュール4 httpモジュール5 設定ファイル …

no image

WinSCPの活用法

WinSCPの活用方法などについて WinSCPでZIPの解凍、ZIPへの圧縮を右クリックからカスタムコマンドで実行できるようにする。 特にzipでファイルを固める処理はよくやるので覚えておきましょう …

no image

ファイル一括検索 xargsを利用した置換

実務でよくあるファイル一括置換。 sedに関しては以前も触れましたが使用範囲は多いですね。

ちなみにオプションがすごく大事でxargs …

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

アーカイブ