Mac端末 - *.png.pngの名前を*.pngに変更します。

Mac端末 - *.png.pngの名前を*.pngに変更します。

次のように名前を変更したい画像がたくさんあります。

  • *.png.png --> *.png
  • *.jpeg.jpg --> *.jpg
  • *.JPEG --> *.jpg

これまで試してきた唯一のことですが、うまくいかないことを知っていますが、mv *.png.png *.pngとにかく危険を冒しました。

このパターンを使用してファイル名をまとめて変更する簡単な方法はありますか?

ベストアンサー1

あなたの質問に対する3つのケースのためのシェル専用ソリューションは次のとおりです。

for f in *.png.png ; do mv -i "${f}" "${f%.png}" ; done

for f in *.jpeg.jpg ; do mv -i "${f}" "${f%.jpeg.jpg}.jpg" ; done

for f in *.JPEG ; do mv -i "${f}" "${f%.JPEG}.jpg" ; done

ファイル名を変更するディレクトリに入力します。

代替の postfix スクリプト形式でこれらのソリューションを一般化するには、次のようにします。

#!/bin/sh
from=${1:?} to=${2:?}
for f in *${from} ; do mv -i "${f}" "${f%${from}}${to}" ; done

そして、置き換えるサフィックスと新しいサフィックスという2つのパラメータを使用してスクリプトを呼び出します。

おすすめ記事