見出し画像

ネットワークエンジニアの必読!実務に役立つTips 〜正規表現〜

この「ネットワークエンジニアの必読!実務に役立つTips」シリーズでは、意外と知られていなかったり、デファクトスタンダードとして扱われているが、知ってみるとかなり便利だったり、知らない方でも何故それがそんなに評価されているのか理解してもらうことを目的として、Tipsを紹介しています。


正規表現の簡単な説明

正規表現とは何か

文字列を特定のパターンにマッチングするものを指定する表現方法のことである
例えばあなたが下の文字列からテキストエディタで「数字だけを一つずつ検索したい」と思ったら、どう検索ダイアログにキーワードを入れて探すだろうか

ぱっと見だと数字だけ着目するのは難しい

もしこれが正規表現(この場合は\d)が使えれば、このように検索出来る。ここから何かに置換することも、削除することも出来る

正規表現を知らなければ0~9まで順番に処理することになるのだろう

正規表現は、だいたいの場合テキストエディタだったり、開発ツールで使えるので、今回はサクラエディタをCisco機器のログを貼り付けている状態を基に説明する

使い方いろいろ(検索キーワードは画像下)

Teratermのタイムスタンプを一括削除する

このTeratermのタイムスタンプ機能は絶対に有効化すべきだが、お客様が確認する場合や、とある事情で日時が表示されていると不都合があったりして、削除する羽目になることがある。そんな時知っておくと便利

\[.+\]␣
※␣は半角スペースを表す

show loggingから特定の深刻度を含まない行を置換で削除=抽出する

^(?!.*-\d-).*$

show loggingから特定の深刻度を含む行を探す

\dを好きな深刻度の数値に置き換えれば良い
^.*-[1-2]-.*と記述すれば、深刻度1~2の深刻なログが無いかどうか確認出来る。運用業務では必須の知識

^.*-\d-.*

自分が投入したコマンドのみ抽出する

Switchは任意のホスト名に置き換えて、検索結果を無に置換すること
これを活用すると、投入結果は別として、「ちゃんとあのコマンド入れてる?もしくは変なの入れてない?」というチェックがしやすくなる

^((?!Switch.*#.).)*$\r\n

show running-configのみを抽出する

仕組みを説明すると、#show running-configからend[改行][改行]までを検索する。しかし、こういった複数行から検索するのは対応しているエディタとそうでないエディタがあるため、注意すること。サクラエディタでは出来ないが、Visual Studio Codeでは出来る
※筆者の今の環境にVS Codeが無いので画像は後日とキーワードは追記予定

結論

  • このように、正規表現の使いどころはアイディア次第で無限にある

  • 今回はテキストエディタを基に使用しているが、正規表現はLinuxやExcelでもカスタムによって、他にも様々なアプリケーションで使えるので、是非マスターして効率的かつ高品質な作業を行えるようにしたい

宣伝

弊社、株式会社CRE-COエンジニアリングサービスは、自社エンジニア成長&満足を第一に運営しています。
エンジニアが高い意欲で仕事ができれば顧客にも喜ばれ、最後に自社にも返ってくると考えるからです!
是非あなたも一緒にメンバーに加わりませんか!詳細は下記のURLから!

エンジニアファーストの会社 株式会社CRE-COエンジニアリングサービス じ〜うな

この記事が気に入ったらサポートをしてみませんか?