【スポンサーリンク】

[macOS] ファイル名を一括変更するターミナルコマンド(sedでループ)

[macOS] ファイル名を一括変更するターミナルコマンド(sedでループ)
  • 作業フォルダ内のファイル名にある「@」を「#」まとめて変更する必要がありました。
  • 一個ずつファイル名を変更するのは大変なので、シェルスクリプトを作りました。
\記事が役に立ったらシェアしてね/
免責事項

なるべく正確な情報になるよう努力していますが、個々のPC/スマホにより状況は異なり、結果の保証はできません。
操作の際には、十分に注意の上、ご自身の判断と責任で行っていただくようお願いいたします。

【スポンサーリンク】

1. 正規表現で作業フォルダ内のファイル名を一括変更する

#!/bin/bash

cd {作業するフォルダパスを入れます}

IFS=$'\n'

for f in *; do
  newname=$(echo "$f" | sed 's/@/#/g')
  if [[ "$f" != "$newname" ]]; then
    mv "$f" "$newname"
  fi
done

unset IFS

「rename-all-sed.sh」として保存して、ターミナルで実行しました。

sh rename-all-sed.sh

適宜、フォルダパス・置換文字列を変更して使うと便利です。

例えば、

もし、先頭にpicture-と付けたいなら、置換文字列を変更します。

sed 's/^/picture-/g'
正規表現で作業フォルダ内のファイル名を一括変更する

ただし、ファイル名の変更は戻せないので注意して使ってください。

2. スクリプトの意味

スクリプトでしていることは、

  1. 作業フォルダに移動する
  2. IFSを改行に設定して、ファイル名にスペースが含まれていても正しく扱えるようにする
  3. ワイルドカードを直接forループに渡す
  4. sedを使って新しいファイル名を生成
    (ここでは`@`を`#`に置換)
  5. ファイル名が変更される場合のみmvコマンドを実行
  6. IFSを元に戻す
こちらもどうぞ。
[mac] WebP画像をPNGに変換したい【Big Surと変換アプリ】
[mac] WebP画像をPNGに変換したい【Big Surと変換アプリ】
macでWebP画像をPNG形式に変換するには、App Storeにある「WebP Converter」がオススメです。ドラッグ&ドロップで変換できるので、スムーズです。 WebPは比較的 新しい画像フォーマットですが、mac OS Big Surからは標準でサポートされています。「プレビュー」アプリでも、変換して書き出すことができるようになっています。 WebPは軽量画像フォーマット インターネットから画像をダウンロードすると、たまにWebPというファイル形式の場合がありま...

MacにEmacsをインストールした 【パッケージ管理システムHomebrew】
MacにEmacsをインストールした 【パッケージ管理システムHomebrew】
MacにEmacsをインストールするには、まずパッケージ管理システムのHomebrewをインストールします。 次に、ターミナルから「brew install emacs」コマンドを実行することで、Emacsをインストールできます。 これで、「emacs」コマンドを使ってEmacsを起動し、テキスト編集を始めることができるようになります。 MacにEmacsをインストールする2つの準備 macOS 10.15 Catalinaには、はじめからEmacsが入っているわけではありま...

mvで移動できなかったのでよく見たら…【ファイル名先頭の-】
mvで移動できなかったのでよく見たら…【ファイル名先頭の-】
mvコマンドでファイルをまとめて移動しようとしたら、うまくいきませんでした。ファイル名の先頭が「-」のファイルが混じっていて、エラーになっていました。

[mac] コマンドラインからゴミ箱に入れる【~/.Trash】
[mac] コマンドラインからゴミ箱に入れる【~/.Trash】
mv ~/.Trash Macの「ゴミ箱」フォルダに移動する rmコマンドだと完全に削除される macでゴミ箱に移動する処理を自動化したい、と思いました。 シェルスクリプトで削除するなら、rm(remove)を使うのですが、▶ 何を削除したか後から確認できない、▶ これは失敗したら元に戻せない、という欠点があります。 「ゴミ箱」フォルダは ~/.Trash macの「ゴミ箱」フォルダの場所は、「~/.Trash」です。(~はユーザーディレクトリの場所) 先頭がドットなので、隠...
QRコードを読み込むと、関連記事を確認できます。

[macOS] ファイル名を一括変更するターミナルコマンド(sedでループ)
【スポンサーリンク】
タイトルとURLをコピーしました