本文へ移動

インフラ転職コンパス運用保守から、設計構築へ。

メニュー

サクラエディタの使い方|矩形選択・Grep・正規表現でconfigを一括修正

動画と記事で学ぶ / 業務ツール

サクラエディタの使い方を、ネットワーク設計構築の実務例で解説。矩形選択(Alt+ドラッグ)、Grep検索、Grep置換、正規表現「.*」でconfigを一括修正する手順をまとめます。

ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。

サクラエディタで最初に覚えるのは、矩形選択(Alt+ドラッグ)、Grep検索、Grep置換、正規表現を使った置換の4つです。この4つが使えると、数百ファイルあるconfigでも、該当行の抽出と一括修正が数分で終わります。

ネットワークの設計構築の現場では、ルーターやスイッチのconfigをテキストファイルで管理することが多く、大規模な案件ではconfigだけで数百ファイルになります。1行ずつ手で直していると、作業が終わりません。この記事では、動画で実演している操作を、手順と使いどころに分けてまとめます。

サクラエディタが設計構築の現場で使われる理由

サクラエディタは、Windowsで動く無料のテキストエディタです。設計構築の現場でよく使われるのは、configがテキストファイルだからです。

ルーター1台につきconfigが1ファイル。機器が数百台あれば、ファイルも数百になります。そこへ「このネクストホップを全部変える」「このセグメントを使っている機器を全部洗い出す」といった作業が入ります。メモ帳で1ファイルずつ開いていたら、業務になりません。

サクラエディタには、複数行をまとめて直す機能と、複数ファイルをまたいで検索・置換する機能が標準で入っています。追加の設定は要りません。

やりたいこと 使う機能 操作
複数行の同じ位置だけ直す 矩形選択 Alt+ドラッグ
全configから該当行を抜き出す Grep検索 検索 → Grep(Ctrl+G)
全configの文字列を一括で変える Grep置換 検索 → Grep置換
行の不要な部分をまとめて消す 正規表現での置換 Ctrl+R → 正規表現にチェック

矩形選択(Alt+ドラッグ)で複数行の同じ位置を直す

Altキーを押しながらドラッグすると、行全体ではなく、ドラッグした四角い範囲だけを選択できます。動画では「Alt複数選択」と呼んでいる操作です。

たとえば、スタティックルートが何行も並んでいて、ネクストホップの第4オクテットだけが間違っていたとします。

ip route 10.1.10.0 255.255.255.0 192.168.2.3
ip route 10.1.20.0 255.255.255.0 192.168.2.3
ip route 10.1.30.0 255.255.255.0 192.168.2.3

末尾の「3」を「10」に直したい場合の手順は次のとおりです(IPアドレスは説明用の値です)。

  1. Altキーを押したまま、1行目の「3」から最終行の「3」までを縦にドラッグする
  2. 縦一列の「3」だけが選択されたことを確認する
  3. そのまま「10」と入力する

Altを押さずにドラッグすると、行がまるごと選択されてしまいます。違いはそこだけです。

「置換でもできるのでは」と思うかもしれません。ただ、同じファイルの別の場所に「192.168.2.3」が残っていて、そちらは変えたくない場合、置換だと巻き込んでしまいます。矩形選択なら、見えている範囲だけを直せます。

行末に限らず、行の途中でも使えます。動画では、interface GigabitEthernet0/1 の「0」の部分だけを選択して「1」に変え、GigabitEthernet1/1 に直す例も実演しています。ポート番号やVLAN番号の振り直しでよく使う操作です。

Grep検索で複数ファイルから該当行を抜き出す

Grep検索は、指定したフォルダの中にある全ファイルから、条件の文字列を含む行だけを一覧にする機能です。

  1. 探したい文字列(例:ルートの宛先アドレス)をエディタ上で選択する
  2. メニューの「検索」→「Grep」を開く(Ctrl+Gでも開ける)
  3. 「条件」に選択した文字列が自動で入っていることを確認する
  4. 「ファイル」は初期値のままにする
  5. 「フォルダ」に、configを置いているフォルダを指定する
  6. 「検索」を押す

先に文字列を選択してからGrepを開くと、条件欄に自動で入ります。打ち間違いが減るので、この順番をおすすめします。

結果は、1行ごとに「ファイルのパス」「ファイル名」「該当した行の内容」の順で表示されます。どの機器のconfigに、その設定が入っているかが一目で分かります。

現場では、抜き出した行をそのまま修正したり、抜き出した結果を材料にして投入用のコマンドを作ったりします。「この宛先へのルートを持っている機器はどれか」を調べる作業は、Grep検索で終わります。

Grep置換で複数ファイルを一括修正する

Grep置換は、Grep検索の「探す」に「書き換える」を足した機能です。フォルダ内の全ファイルを対象に、文字列をまとめて置き換えます。

  1. 置換したい文字列を選択する
  2. メニューの「検索」→「Grep置換」を開く
  3. 「置換前」に選択した文字列が入っていることを確認する
  4. 「置換後」に新しい文字列を入力する
  5. 「フォルダ」に対象のフォルダを指定する
  6. 「置換」を押す

動画では、269個のconfigファイルが入ったフォルダに対して実行し、一瞬で置換が終わっています。手作業で269ファイルを開いて直すことを考えると、差は大きいです。

Grep置換を実行すると、置換が行われたファイルごとに、置換前の内容がバックアップファイルとして同じフォルダに自動で残ります。特別な設定は要りません。動画でも、実行後にフォルダ内のファイルが増えているのを確認できます。

正規表現「.*」でGrep結果をコマンドに加工する

Grep検索の結果は、行の先頭にファイルのパスが付いています。ここからコマンドの部分(ip route 以降)だけを取り出したいことがよくあります。何百行もあるので、手で消すのは現実的ではありません。ここで正規表現を使います。

  1. Grep結果の画面で Ctrl+R を押し、置換ウィンドウを開く
  2. 「正規表現」にチェックを入れる
  3. 「置換前」に .*ip route と入力する
  4. 「置換後」に ip route と入力する
  5. 「すべて置換」を押す

これで、各行の「ip route」より前にあるパスやファイル名がすべて消え、コマンドだけが残ります。

記号 意味
.(ドット) 任意の1文字
*(アスタリスク) 直前の文字の0回以上の繰り返し
.* どんな文字が何文字続いてもよい(=そこまでの全部)

つまずきやすいのは置換後の欄です。.*ip route は「ip route」という文字そのものも選択範囲に含みます。置換後を空にすると、ip route まで消えてしまいます。置換後に ip route を入れておくことで、前の部分だけを消した形になります。

「Grep検索で抜き出す → 正規表現で加工する → 投入用のコマンドにする」という流れは、設計構築の仕事で何度も出てきます。正規表現は奥が深いですが、最初は .* だけ使えれば十分に役立ちます。

よく使うショートカットキー

マウスでも操作できますが、キーで開けると作業が途切れません。

キー 動作
Alt+ドラッグ 矩形選択
Ctrl+G Grepのウィンドウを開く
Ctrl+R 置換のウィンドウを開く
Ctrl+F 検索のウィンドウを開く
Alt+F ファイルメニューを開く
Ctrl+Z 1つ前の状態に戻す
Ctrl+A すべて選択
Ctrl+C/Ctrl+V コピー/貼り付け

よくある質問

サクラエディタは無料で使えますか?

無料で使えます。公式サイト(sakura-editor.github.io)からダウンロードできます。業務用のPCに入れる場合は、現場のソフトウェア利用ルールを先に確認してください。

Grep検索と通常の検索(Ctrl+F)は何が違いますか?

通常の検索は、今開いている1ファイルの中を探します。Grep検索は、指定したフォルダ内の全ファイルを対象に、該当する行を一覧で表示します。

Grep置換を間違えたときは、元に戻せますか?

置換前の内容がバックアップファイルとして残るので、そこから戻せます。ただし対象が数百ファイルになると戻す作業も大変です。実行前にフォルダごとコピーしておくほうが確実です。

正規表現は、どこまで覚えればよいですか?

まずは「.」と「*」、組み合わせた「.*」だけで構いません。Grep結果の加工は、これだけでほとんど対応できます。

このテーマを続けて学ぶ

最近の記事
ピックアップ