ImageMagick - 複数のforループを介したファイル名の増加

ImageMagick - 複数のforループを介したファイル名の増加

これは、一連の「for」ループを使用してファイル名の名前変更/増分に関するBashの質問です。このような行動は理解できません...

convertImageMagickコマンドの使用

3つのソースファイルでこれを行うと、次のようになります。

$ convert *.miff dir/%d.miff
$ convert *.miff dir1/%d.miff

予想される動作が得られ、両方のファイルが含まれていますdir。これは望ましい動作です。しかし、すべてのソース画像をメモリに読み込んでリソースを吸収すること(大型画像ファイル30~40個試み)が必ずしもファイルの順序に厳密に従うわけではありません。dir10.miff 1.miff 2.miffconvert

厳密な順序でファイルごとに一度に1ファイルずつ、最終処理要件を満たす方が良いでしょう。

$ for var in `ls -v *.miff`; do convert $var dir/%d.miff; done
$ for var in `ls -v *.miff`; do convert $var dir1/%d.miff; done

ところで、入ってから0.miff 1.miff 2.miffまた入りdirました。3.miff 4.miff 5.miffdir1

*.miff各ループに異なる変数を割り当てて、次のようなものを$var試しました。変更なし - 各「for」ループで「0」にリセットするのではなく、上向きに増加し続けます。%d.miff$((x++)).miff

私は意味のある答えを検索しましたが、これはbashに含まれる動作であり、変数の使用に関連していると思われます$var

編集#1

読者に負担をかけないために問題は単純化されますが、それぞれ異なる作業を行う4つのループがあり、最終的に4つのディレクトリに生成されたイメージを再組み立てする修正されたスクリプトは次のとおりです。Jesse_pの答えに基づいて:

x=(0)    
for i in `ls -v *.miff`; do 
  convert "$i" -depth $depth -roll +0+0 -sample 50% B/"$((x++)).miff"
done

x=(0)    
for i in `ls -v *.miff`; do 
  convert "$i" -depth $depth -roll +0+1 -sample 50% G/"$((x++)).miff"
done

x=(0)    
for i in `ls -v *.miff`; do
  convert "$i" -depth $depth -roll +1+0 -sample 50% g/"$((x++)).miff"
done    

x=(0)    
for i in `ls -v *.miff`; do 
  convert "$i" -depth $depth -roll +1+1 -sample 50% R/"$((x++)).miff"
done

for ((R=0,G=0,g=0,B=0;R<=101;R+=1,G+=1,g+=1,B+=1)); do
  convert R/$R.miff G/$G.miff B/$B.miff depth $depth \
     -colorspace sRGB -combine "$((x++))_$name.tiff"    
done

ベストアンサー1

ImageMagickによると文書これを使用して-scene開始シーケンス番号を設定できます。 (V6.2以降):

つまり、ilkkachuが指摘し、私のテストで確認したように、ループはファイルをまったく増やすこと0.miffなく名前付きファイルを上書きし続けます。次のコンテンツで増分ファイルを生成できます。

x=0
for file in *.miff; do convert "$file" "dir/$((x++)).miff"; done
x=0
for file in *.miff; do convert "$file" "dir1/$((x++)).miff"; done

x=00という変数に値を割り当てますx

$((x++))増加するx 後ろに現在の操作。したがって、最初の実行では0.miff、その後は1.miffなどになります。x=0次回実行するときにゼロから始まることを確認するために、ループ間で再度呼び出します。

glob ファイル (*.miff) は以下より小さいです。lsを解析する

おすすめ記事