- 作業フォルダ内のファイル名にある「@」を「#」まとめて変更する必要がありました。
- 一個ずつファイル名を変更するのは大変なので、シェルスクリプトを作りました。
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. スクリプトの意味
スクリプトでしていることは、
- 作業フォルダに移動する
- IFSを改行に設定して、ファイル名にスペースが含まれていても正しく扱えるようにする
- ワイルドカードを直接forループに渡す
- sedを使って新しいファイル名を生成
(ここでは`@`を`#`に置換) - ファイル名が変更される場合のみmvコマンドを実行
- IFSを元に戻す
こちらもどうぞ。
![[mac] WebP画像をPNGに変換したい【Big Surと変換アプリ】](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiIHZpZXdCb3g9IjAgMCAxOTIwIDEwODAiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4=)


![[mac] コマンドラインからゴミ箱に入れる【~/.Trash】](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOTIwIiBoZWlnaHQ9IjEwODAiIHZpZXdCb3g9IjAgMCAxOTIwIDEwODAiPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZmZmZmYiLz48L3N2Zz4=)
![[mac] WebP画像をPNGに変換したい【Big Surと変換アプリ】](https://chiilabo.com/wp-content/uploads/2022/03/image-35-1024x576.jpg)
[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をインストールします。 次に、ターミナルから「brew install emacs」コマンドを実行することで、Emacsをインストールできます。 これで、「emacs」コマンドを使ってEmacsを起動し、テキスト編集を始めることができるようになります。MacにEmacsをインストールする2つの準備macOS 10.15 Catalinaには、はじめからEmacsが入っているわけではありません...

mvで移動できなかったのでよく見たら…【ファイル名先頭の-】
mvコマンドでファイルをまとめて移動しようとしたら、うまくいきませんでした。ファイル名の先頭が「-」のファイルが混じっていて、エラーになっていました。
![[mac] コマンドラインからゴミ箱に入れる【~/.Trash】](https://chiilabo.com/wp-content/uploads/2022/04/image-11-1024x576.png)
[mac] コマンドラインからゴミ箱に入れる【~/.Trash】
mv ~/.TrashMacの「ゴミ箱」フォルダに移動するrmコマンドだと完全に削除されるmacでゴミ箱に移動する処理を自動化したい、と思いました。シェルスクリプトで削除するなら、rm(remove)を使うのですが、▶ 何を削除したか後から確認できない、▶ これは失敗したら元に戻せない、という欠点があります。「ゴミ箱」フォルダは ~/.Trash macの「ゴミ箱」フォルダの場所は、「~/.Trash」です。(~はユーザーディレクトリの場所)先頭がドットなので、隠しフォルダに...
QRコードを読み込むと、関連記事を確認できます。
![[macOS] ファイル名を一括変更するターミナルコマンド(sedでループ)](https://api.qrserver.com/v1/create-qr-code/?data=?size=200x200&data=https%3A%2F%2Fchiilabo.com%2F2024-02%2Fmacos-terminal-script-bulk-rename-files-using-sed%2F)