直す前に結果を確認!テキストエディタのGrep、ワークスペース全体の横断検索

十章を横断検索し対象外資料を守って置換前後を確認するアイキャッチ

テキストエディタでGrepのような横断検索を使う目的は、見つけた語をすぐ一括置換することではありません。検索語、対象範囲、該当ファイル、行、置換後の文脈を順に確認し、変更対象を小さくすることです。固定標本 131-12ch-v1 では、12章の「主人公」1語を「語り手」へ変える例を扱います。対象外資料フォルダnotes/は固定して検索・置換の範囲から外し、共通ルート記事台帳との整合は後工程で行います。

一般のgrepと製品内検索を区別する

grepは複数ファイルから条件に合う行を探す一般的な考え方・ツール名です。しかし、エディタ内の横断検索が同じオプションや正規表現をすべて持つとは限りません。この記事では、文字列をワークスペース内で探し、ファイルと行ごとの結果から本文へ移動する範囲を扱います。

正規表現、コマンドラインのオプション、バイナリファイル検索は前提にしません。必要な人は利用中のツールの仕様を別に確認してください。「Grep」と呼ばれていても、機能は製品資料に書かれた範囲で判断します。

置換前に基準検索を保存する

まずnotes/を対象外として固定し、12章の本文で「主人公」を検索して、対象ファイル数とヒット数を記録します。結果をファイル名と行へ分け、「地の文」「会話」「見出し」「要確認」の四用途へ分類します。語り手へ変えるのは地の文だけ、会話の固有表現は残す、と先に決めます。

件数だけでは判断できません。たとえば一行に二回ある場合、ファイル数とヒット数は異なります。ファイル単位の結果を開き、前後一文を読んで変更可否を記録します。131-12ch-v1では12章の対象範囲、旧語「主人公」、新語「語り手」、1語の置換条件を同じ記録へ渡します。

検索範囲を二段階で狭める

一回目はnotes/を除いた12章の本文範囲で分布を把握します。二回目は本文フォルダ、または選択した章ファイルだけへ範囲を絞ります。対象外資料フォルダや旧稿を含めて置換すると、参照用の原文まで変わるためです。

選択した場所から検索を開始できる場合も、現在の選択範囲を画面上で読み直します。「第1〜6章」のつもりで旧稿フォルダまで選んでいないかを確認します。範囲名、対象ファイル数、検索語を置換記録へ残します。

結果から正確な行へ移動して文脈を読む

検索結果を選び、該当ファイルの該当行と文字範囲へ移動します。行番号だけを見て置換せず、主語、引用、否定、固有名詞の一部ではないかを確認します。「主人公ではない」のような文は、単純置換で意味が変わる可能性があります。

同じ語が開いている未保存タブにもある場合、保存済みファイルだけを別の手段で置換すると変更を上書きする危険があります。検索結果が未保存内容を含むかを確認し、保存方針を決めてから進みます。

置換候補をプレビューしてから確定する

置換前確認がある場合は、旧文字列、新文字列、対象範囲、候補件数を読みます。全件を一度に確定せず、まず一章だけで実行し、意味と表記を確認します。問題がなければ次の章へ広げます。

置換後は新語「語り手」を検索し、想定増加数と照合します。さらに旧語「主人公」を再検索し、残った箇所が意図的か見ます。新語の件数だけを見ても、誤って資料まで置換したことは分からないため、変更ファイル一覧も確認します。

Rune Studioで確認できる検索範囲

現行Mac版Rune Studioの資料には、ワークスペース検索、英字の大文字小文字を区別しない検索、ファイル・行ごとの結果表示、ファイル数とヒット数のリアルタイム表示が記載されています。結果選択で該当ファイルの正確な行・文字範囲を開きます。

範囲はワークスペース全体または選択したファイル・フォルダで、選択場所の右クリックから検索を始められます。置換前の確認があり、開いている未保存タブも検索対象に含むことが資料に記載されています。これらは公開資料で確認できる実装範囲の説明で、今回の12章置換を完遂した実測ではありません。正規表現対応は主張しません。

失敗時に戻せる単位を作る

一章ごとに保存または差分確認を行い、置換前の件数表を残します。対象範囲を間違えたら、その章の変更だけを戻せるようにします。検索の便利さより、変更単位を小さくすることが安全性につながります。

検索中に原稿を編集したら、基準件数を取り直します。古い件数と新しい内容を比較すると、置換漏れなのか編集による増減なのか判断できません。検索条件、対象範囲、原稿の保存状態を同じ時点へそろえてから最終表を作ります。

残す結果には理由コードを付ける

旧語を残す箇所は「会話」「引用」「固有名詞」「資料」「要確認」の理由コードを付けます。最終検索で残件が五つなら、五件すべてにコードがあることを確認します。件数だけをゼロにするための誤置換を防ぎ、後日同じ語を検索した人も、意図的な残置か見落としかを判断できます。

次に行う操作:12章の一語だけを対象にする

次に行う操作は、固定標本 131-12ch-v1 の12章を複製し、対象外資料フォルダ notes/ を検索範囲から外した状態で始めます。旧語「主人公」から新語「語り手」への1語例を本文の一箇所へ置き、検索前の件数、該当行、対象ファイルを記録します。置換は一章ずつ行い、各章の変更前後を保存してから次章へ進みます。最後に旧語と新語を再検索し、残った旧語には理由コードを付け、変更ファイル一覧と期待件数を12章分照合します。notes/ 内の語や、主人公という語を残す引用・資料は変更せず、対象外を誤って置換していないことも記録します。

結論:全体分布を見て一章ずつ置換する

横断検索は、固定標本 131-12ch-v1 の12章で分布を知り、対象外資料フォルダnotes/を含めず、範囲を本文へ絞り、結果から行へ移動し、置換前確認後に一章だけ変えます。最後に旧語と新語を再検索し、件数と変更ファイルを照合してください。notes/を含めない条件を同じ記録へ残し、共通ルート記事台帳との整合は後工程で取ります。

現行Mac版の検索・置換範囲は、Rune Studioの商品ページで確認できます。