イメージファイルのバッチ名の変更

イメージファイルのバッチ名の変更

複数の写真を含むフォルダがあります。ファイル名をすべて小文字に変換してから、特定の文字列をすべて削除したいと思います。

たとえば、将来的には、、、、およびBILD02_CMYK_freigestellt_RENDER_3D.jpg関連する単語を削除する必要があります。これまで、次の組み合わせがありますが、これが最初の段落になり、すべての項目ではなく最初の項目のみが削除されます。cmykrender3d_

// Rename names to lowercase
for file in *; 
do 
   mv "$file" "$file.tmp"; 
   mv "$file.tmp" "`echo $file | tr "[:upper:]" "[:lower:]"`"; 
done

// Remove cmyk from filename
// optimierung: macht es nur einmal bei einer datei - ----
for file in *; do mv "${file}" "${file/cmyk/}"; done
for file in *; do mv "${file}" "${file/freigestellt/}"; done
for file in *; do mv "${file}" "${file/-/_}"; done

ベストアンサー1

rename -n '$_=lc; s/(cmyk|freigestellt|render|3d|_|-)//g' *.jpg

これは以下を使用します。真珠prename名前変更コマンド(とも呼ばれるfile-rename)これはいいえrenameコマンドラインオプションと機能はまったく異なるutil-linuxのコマンドと混同されます。

まず、Perlの機能を使用してファイル名を小文字に変換し、テキストまたはlc()サンプルコードで言及されているすべての単語と文字を削除します。

この-nオプションを使用すると、rename練習の実行が発生します。許可した場合は、実行するアクションのみが表示されます。実際にファイル名を変更するには、そのファイルを削除するか、詳細な出力に-n変更してください。-v

例えば

$ touch BILD{00..05}_CMYK_freigestellt_RENDER_3D.jpg
$ rename -v '$_=lc; s/(cmyk|freigestellt|render|3d|_|-)//g' *.jpg
BILD00_CMYK_freigestellt_RENDER_3D.jpg renamed as bild00.jpg
BILD01_CMYK_freigestellt_RENDER_3D.jpg renamed as bild01.jpg
BILD02_CMYK_freigestellt_RENDER_3D.jpg renamed as bild02.jpg
BILD03_CMYK_freigestellt_RENDER_3D.jpg renamed as bild03.jpg
BILD04_CMYK_freigestellt_RENDER_3D.jpg renamed as bild04.jpg
BILD05_CMYK_freigestellt_RENDER_3D.jpg renamed as bild05.jpg

おすすめ記事