質問: 元のファイルを同じディレクトリに保持しながら、mogrifyを使用してjpeg画像を変換(圧縮)します imagemagickコマンドmogrifyを使用して、元のファイルを同じディレクトリに保持しながら、多数のjpeg画像を変換(圧縮)しようとしています。ターミナルウィンドウに入力しています:mogrify -quality 25%* .jpeg con-%002d.jpegすると、エラーが発生します:mogrify:画像を開くことができません `con-%002d.jpeg ':そのようなファイルまたはディレクトリはありません@エラー/blob.c/openblob/2712。このエラーを解決するにはどうすればよいですか?実行しました:identify -verbose * | grep形式と結果はすべてのファイル用です:形式:jpeg(joint photographic experts group jfif形式)exif:thumbnail:jpeginterchangeformat:10718 exif:thumbnail:jpeginterchangeformatlength:8223私のシステムはxubuntu16.04です。vladiに感謝します。
回答: マニュアルページによると、mogrifyは出力オプションを取りません。フォーマットが変更されない限り、入力ファイルを上書きするだけです(ファイル拡張子まで同じ名前が使用されます)。代わりにconvertを使用してこれを試してください。#!/bin/bash n=1 for i in *.jpeg; do convert "$i" -format jpg -quality '25%' $(printf con-%03d.jpeg $n) n=$((n+1)) done jpeg vs jpg同じ画像を2回モグリ化した$ mogrify -format jpeg b.jpg $ mogrify -format jpg b.jpg 次に$ diff -u <(identify -verbose b.jpg ) <(identify -verbose b.jpeg) --- /dev/fd/63 2018-09-29 14:42:27.506462707 -0400 +++ /dev/fd/62 2018-09-29 14:42:27.510462929 -0400 @@ -1 +1 @@ -image: b.jpg +image: b.jpeg @@ -71,2 +71,2 @@ - date:create: 2018-09-29t14:37:11-04:00 - date:modify: 2018-09-29t14:37:11-04:00 + date:create: 2018-09-29t14:37:03-04:00 + date:modify: 2018-09-29t14:37:03-04:00 @@ -77 +77 @@ - filename: b.jpg + filename: b.jpeg