【スポンサーリンク】

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

作業フォルダ内のファイル名を、一括変換するために以下のスクリプトを作りました。

#!/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

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

  • 作業フォルダに移動する
  • IFSを改行に設定して、ファイル名にスペースが含まれていても正しく扱えるようにする
  • ワイルドカードを直接forループに渡す
  • sedを使って新しいファイル名を生成
    (ここでは`@`を`#`に置換)
  • ファイル名が変更される場合のみmvコマンドを実行
  • IFSを元に戻す

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

sh rename-all-sed.sh

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

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

こちらもどうぞ。
[mac] WebP画像をPNGに変換したい【Big Surと変換アプリ】
macでWebP画像をPNG形式に変換するには、App Storeにある「WebP Converter」がオススメです。ドラッグ&ドロップで変換できるので、スムーズです。 WebPは比較的 新しい画像フォーマットですが、mac OS Big Surからは標準でサポートされています。「プレビュー」アプリでも、変換して書き出すことができるようになっています。 WebPは軽量画像フォーマット インターネ...

MacにEmacsをインストールした 【パッケージ管理システムHomebrew】
macOS 10.15 Catalinaには、はじめからEmacsが入っているわけではありません。 そこでMacでEmacsを使えるようにするまでの手順をまとめておきます。 Emacsとは Emacsは、「1970年代からUNIXで使われているテキストエディタ」の一つです。 基本的にターミナル上(Windowsでは「コマンドプロンプト」)で動作し、「マクロ」による拡張性が特徴です。 プログラム開発...

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

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