·4分で読めます

Macでファイル名の検索と置換を行う

ファイル名を対象にした検索と置換は簡単そうに聞こえますが、うまく行うには単純なテキスト置換以上の制御が必要です — 大文字・小文字の区別、単語単位のマッチ、複数回出現するテキストの扱いなど。

検索と置換は、一括リネームの中でも最も一般的な操作です。複数のファイルにまたがって現れる単語や文字列を、別のものに置き換える必要がある — プロジェクト名が変更された、クライアントの社名が変わった、古い命名規則をアーカイブ全体で更新する必要がある、といったケースです。これはリネーム作業の中でも一番シンプルに聞こえますし、実際そうであることも多いです。しかし、ファイル名が完全に統一されていない瞬間から、基本的な検索と置換は限界を見せ始めます。

基本的な検索と置換がつまずく場面

Finderの検索と置換は、きれいで完全一致するケースであれば機能します。しかし、実際のフォルダはそれよりもずっと雑然としています。

  • 置き換えたいテキストが、ファイルごとに異なる大文字・小文字で現れる(「Draft」「draft」「DRAFT」など)
  • 対象の文字列がファイル名の中に複数回現れ、そのうち1つだけを置き換えたい
  • 完全一致のテキストではなく、パターンを置き換えたい — 「v1」だけでなく、あらゆるバージョン番号など
  • 複数の検索と置換操作を連続して実行し、それぞれが前の結果の上に積み重なるようにしたい

Finderの置換は、1回の実行につき完全一致テキストの置換を1つだけしか処理できず、大文字・小文字のオプションもパターンマッチングもありません。

より高度な制御を備えた検索と置換

Renymには正規表現に対応した検索と置換アクションが用意されており、シンプルな完全一致の置換とパターンベースのマッチングの両方を、同じツールの中で行えます。

Renym find and replace in file names on macOS

単純なケースに対するシンプルな置き換え

バッチ内のすべてのファイルで「OldClientName」を「NewClientName」に置き換え、適用する前にライブプレビューで変更が正しく見えるか確認できます。

テキストが変化する場合のパターンマッチング

正規表現をオンにすれば、完全一致の文字列ではなくパターンでマッチさせられます — 「draft_v」のあとに数字が続くものをすべて、その数字が何であれ「final」に置き換える、といった具合です。

複数の置換を連結する

同じバッチの中に3種類の異なる不整合があり、それらをまとめて修正したい場合は、パイプラインに3つの検索と置換ステップを追加すればよいのです。それぞれが前のステップの結果に対して実行され、プレビューにはチェーン全体の結果が反映されます。

Mac App StoreでRenymを入手

次の記事

Renym

Rename hundreds of files with visual pipelines — regex, numbering, case changes.

Get Renym on the Mac App Store