Home

macOS ターミナルでファイルや複数のファイルの名前を変更する方法について

Updated on 2024年12月3日火曜日

Written by

Erika Zhang

Approved by

Jessica Shee

やまと English Français Deutsch Español Português

命名規則に準拠したり、より効率的なファイルの整理を行い、簡単な検索を可能にするために、macOS ターミナルアプリを使用してファイル名を変更できます。ターミナルを使用すると、グラフィカルなインタフェースよりも高速に複数のファイルを管理できるため、ファイルのリネームはより迅速に行えます。

ターミナルは、グラフィカルなインタフェースに比べて強力で柔軟性があります。ターミナルを使用すると、次のことができます。

  • 正規表現を使用してファイル名を変更する。
  • ファイルの内容に基づいてファイル名を変更する。
  • 隠しディレクトリからファイル名を変更する。

ターミナルを使用すると、リネームプロセスにより多くの制御が加えられ、グラフィカルなインタフェースでは課題となるか、時間がかかるタスクを実行できます。本記事では、ファイルの名前を変更する方法、またはMac ターミナルで複数のファイルをバッチでリネームする方法について説明します。

Mac Terminalでファイル名を変更する方法は?

Mac ターミナルでファイル名を変更するには、mvコマンドを使用することができます。このコマンドは、ファイルやディレクトリをリネームや移動することができます。Finderを開き、アプリケーション>ユーティリティをクリックしてターミナルアプリを起動します。その後、次のコマンドを入力しEnterキーを押します。

 Tips: 以下のターミナルコマンドラインを使用して、Mac上でディレクトリ(フォルダ)やファイルの拡張子をリネームすることもできます。

Mac ターミナルでファイル名を変更する:(上記のコマンドラインは、リネーム後のファイルのパスを変更する場合に使用されます。)

mv /path/to/old_filename /path/to/new_filename

例えば、あなたがデスクトップ上の20230518.jpgファイルを2023-05-18.jpegに変更したい場合、まずターミナルにmvを入力し、その後ファイルをターミナルにドラッグしてパスを取得します。

次に、パスをコピーしてターミナルに貼り付け、キーボードの左右矢印キーを使用してカーソルを移動し、コピーしたパス内で名前を変更します。最終的なコマンドは以下の通りです: mv /Users/user_name/Desktop/20230518.jpg /Users/user_name/Desktop/2023-05-18.jpeg

Mac ターミナルでファイルをコピーしてリネームする:

cp /path/to/old_filename /path/to/new_filename

デスクトップ上のファイル「20230518.jpg」をダウンロードフォルダにコピーして、「2023-05-18.jpeg」として名前を変更したい場合は、ターミナルに「cp」と入力して、スペースを入れた後にファイルをターミナルにドラッグ&ドロップし、その後コピー先のフォルダをターミナルにドラッグ&ドロップして、新しい名前を入力します。最終的なコマンドは以下のとおりです: cp /Users/user_name/Desktop/20230518.jpeg /Users/user_name/Downloads/2023-05-18.jpeg

 ヒント: Macで単一のファイルの名前を変更する場合は、リネームショートカットを使用すると便利です。ファイルを選択してEnterキーを押すとリネームモードに入ります。次に名前を変更して再度Enterキーを押します。

これらのコマンドラインを共有して、macOSのターミナルアプリでファイル/フォルダ/拡張子の名前を変更するのを助けましょう。

 

Mac Terminalで複数のファイルを一括でリネームする方法は?

Mac ターミナルで複数のファイルを一括でリネームするには、リネームしたいファイルに対してループを実行する必要があります。リネーム方法によってコマンドラインが異なります。ここでは、ターミナルを使用して複数のファイルの名前を一括で変更するために使用できる一般的なコマンドラインをいくつか紹介します。

開始する前に知っておく必要のあることがあります。

通常、ターミナルを開くと、ホームディレクトリ(~)チルダ記号で表されるホームディレクトリで起動します。この時に次のコマンドを実行すると、ホームディレクトリ内のすべてのファイルに影響が及びます。

したがって、特定のフォルダ内のすべてのファイルをリネームする場合は、cdコマンドを使用してディレクトリを指定する必要があります。たとえば、デスクトップに「test folder」という名前のフォルダがある場合、リネームコマンドを実行する前に次のコマンドを実行します。

cd ~/Desktop/test\ folder

また、特定の種類のファイルのみをリネームする場合は、ワイルドカード('*')の後にその拡張子を追加することができます。たとえば、「fin * .jpg; do」とします。

ここでは、正規表現を使用してターミナルでファイルの名前を変更する方法を紹介します

ファイル拡張子の変更:

for file in *; do 
  mv "$file" "${file%.jpg}.png" 
done

この例では、拡張子.jpgを.pngに変更します。

ファイル名にサフィックスを追加:

for file in *; do 
  mv "$file" "${file%.png}_new.png"
done

この例では、すべてのpngファイルにサフィックス「_new」が付加されます。

ファイル名にプレフィックスを追加する:

* のすべてのファイルに対して、
 for file in *; do 
  mv "$file" "old_$file" 
done

この例では、すべてのファイル名にプレフィックス "_old" を追加します。

作成日を使ってファイル名をリネームする:

* のすべてのファイルに対して、
 for f in *; do 
   creation_date=$(stat -f "%SB" -t "%Y%m%d%H%M%S" "$f") 
   new_name="${creation_date}_${f}" 
   mv "$f" "$new_name" 
done

この例では、ファイルが作成された日付を含めたファイル名に変更します。たとえば、"image.png"というファイルが2023年1月1日午前12時に作成された場合、ファイル名は"202301010000_image.png"に変更されます。時間、分、秒が必要ない場合は、"%H%M%S"を削除してください。年、月、日の間にハイフンを追加したい場合は、"%Y%m%d%"を"%Y-%m-%d"に変更してください。

ファイル名を小文字に変換する:

* のすべてのファイルに対して、
 for f in *; do 
   new_name=$(echo "$f" | tr '[:upper:]' '[:lower:]') 
   mv "$f" "$new_name" 
done

この例では、ファイル名を小文字に変換します。

スペースをハイフンに変換する:

* のすべてのファイルに対して、
 for file in *; do 
 mv "$file" "${file// /-}" 
done

この例では、すべてのファイル名をリネームして、ターミナル内でスペースをハイフンに置き換えます。

これで、ターミナルを使用してフォルダ内のすべてのファイルをリネームする方法を知りました。他の人と共有するのを忘れないでください。