web-dev-qa-db-ja.com

Mac OS Xでファイル拡張子をバッチ変更しますか?

Wgetを使用してWebサイトをフォルダーにダウンロードしました。ファイルの名前が同じ場合、wgetは新しいファイルをname.extension。#として保存します。

今、私は1.jpg、1.jpg.1、1.jpg.2などのような何百ものファイルを持っています。

拡張子が.jpg *のすべてのファイルをプレーンな.jpgに変更するにはどうすればよいですか?

編集:拡張機能を変更する前にEXIFデータで整理できるフリーウェアのNameChangerを使用しました。

2
Thalecress

これを行うには、 Name Mangler を使用します。シェアウェア、ただし:試用版:Name Manglerは25回の起動で無制限に機能します。

左側に元のファイル名と将来のファイル名が表示され、右側に使用したNumber Sequentiallyの構成が表示されます。ここで重要なのは、.jpgサフィックスを手動で定義し、元の拡張子を追加しないことです。

Screenshot of suitable configuration


無料の NameChanger もこれを行うことができます。 (ありがとう slhck !)

Screenshot of suitable configuration

3
Daniel Beck

1.jpg.1の名前を1-1.jpgに変更する必要があると想定しています。そうしないと、それらが失われます。迅速で汚いことが頭に浮かびます。sedを使用してその場でシェルスクリプトを作成し、shに実行させるだけです。

$ ls -1 *jpg* | sed -e 's@\(.*\)\(\.jpg\.\)\(.*\)@mv \1\2\3 \1-\3.jpg@' | grep ^mv | sh 

shの直前の出力をチェックして、実際に正しい動作をすることを確認することを強くお勧めします。

1
ckhan

IFS=$'\n'; for f in `find . -name '*.jpg.*'`; do echo mv "$f" "`sed -E 's/(.*)\.jpg\.(.*)/\1-\2.jpg/' <<< "$f"`"; done

すべてのサブフォルダー内のファイルに適用され、スペースを含むファイル名で機能する別のバージョン。

0
Lri

これは、ターミナルで複数のファイルの名前を変更する覚えやすい方法です。

rename 's/\.jpg.1/\.jpg/' *.jpg.1

/\.の後に拡張子を付け、2番目の引数(この場合は*.jpg.1)に既存のファイルを指定してください。

0
OMA