Wgetを使用してWebサイトをフォルダーにダウンロードしました。ファイルの名前が同じ場合、wgetは新しいファイルをname.extension。#として保存します。
今、私は1.jpg、1.jpg.1、1.jpg.2などのような何百ものファイルを持っています。
拡張子が.jpg *のすべてのファイルをプレーンな.jpgに変更するにはどうすればよいですか?
編集:拡張機能を変更する前にEXIFデータで整理できるフリーウェアのNameChangerを使用しました。
これを行うには、 Name Mangler を使用します。シェアウェア、ただし:試用版:Name Manglerは25回の起動で無制限に機能します。
左側に元のファイル名と将来のファイル名が表示され、右側に使用したNumber Sequentiallyの構成が表示されます。ここで重要なのは、.jpg
サフィックスを手動で定義し、元の拡張子を追加しないことです。
無料の NameChanger もこれを行うことができます。 (ありがとう slhck !)
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
の直前の出力をチェックして、実際に正しい動作をすることを確認することを強くお勧めします。
IFS=$'\n'; for f in `find . -name '*.jpg.*'`; do echo mv "$f" "`sed -E 's/(.*)\.jpg\.(.*)/\1-\2.jpg/' <<< "$f"`"; done
すべてのサブフォルダー内のファイルに適用され、スペースを含むファイル名で機能する別のバージョン。
これは、ターミナルで複数のファイルの名前を変更する覚えやすい方法です。
rename 's/\.jpg.1/\.jpg/' *.jpg.1
各/\.
の後に拡張子を付け、2番目の引数(この場合は*.jpg.1
)に既存のファイルを指定してください。