- 作業フォルダ内のファイル名にある「@」を「#」まとめて変更する必要がありました。
- 一個ずつファイル名を変更するのは大変なので、シェルスクリプトを作りました。
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と変換アプリ】
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】
mv ~/.Trash Macの「ゴミ箱」フォルダに移動する rmコマンドだと完全に削除される macでゴミ箱に移動する処理を自動化したい、と思いました。 シェルスクリプトで削除するなら、rm(remove)を使うのですが、▶ 何を削除したか後から確認できない、▶ これは失敗したら元に戻せない、という欠点があります。 「ゴミ箱」フォルダは ~/.Trash macの「ゴミ箱」フォルダの場所は、「~/.Trash」です。(~はユーザーディレクトリの場所) 先頭がドットなので、隠...
QRコードを読み込むと、関連記事を確認できます。