検索と置換は、一括リネームの中でも最も一般的な操作です。複数のファイルにまたがって現れる単語や文字列を、別のものに置き換える必要がある — プロジェクト名が変更された、クライアントの社名が変わった、古い命名規則をアーカイブ全体で更新する必要がある、といったケースです。これはリネーム作業の中でも一番シンプルに聞こえますし、実際そうであることも多いです。しかし、ファイル名が完全に統一されていない瞬間から、基本的な検索と置換は限界を見せ始めます。
基本的な検索と置換がつまずく場面
Finderの検索と置換は、きれいで完全一致するケースであれば機能します。しかし、実際のフォルダはそれよりもずっと雑然としています。
- 置き換えたいテキストが、ファイルごとに異なる大文字・小文字で現れる(「Draft」「draft」「DRAFT」など)
- 対象の文字列がファイル名の中に複数回現れ、そのうち1つだけを置き換えたい
- 完全一致のテキストではなく、パターンを置き換えたい — 「v1」だけでなく、あらゆるバージョン番号など
- 複数の検索と置換操作を連続して実行し、それぞれが前の結果の上に積み重なるようにしたい
Finderの置換は、1回の実行につき完全一致テキストの置換を1つだけしか処理できず、大文字・小文字のオプションもパターンマッチングもありません。
より高度な制御を備えた検索と置換
Renymには正規表現に対応した検索と置換アクションが用意されており、シンプルな完全一致の置換とパターンベースのマッチングの両方を、同じツールの中で行えます。
単純なケースに対するシンプルな置き換え
バッチ内のすべてのファイルで「OldClientName」を「NewClientName」に置き換え、適用する前にライブプレビューで変更が正しく見えるか確認できます。
テキストが変化する場合のパターンマッチング
正規表現をオンにすれば、完全一致の文字列ではなくパターンでマッチさせられます — 「draft_v」のあとに数字が続くものをすべて、その数字が何であれ「final」に置き換える、といった具合です。
複数の置換を連結する
同じバッチの中に3種類の異なる不整合があり、それらをまとめて修正したい場合は、パイプラインに3つの検索と置換ステップを追加すればよいのです。それぞれが前のステップの結果に対して実行され、プレビューにはチェーン全体の結果が反映されます。