私はかなり簡単なことをしたいです。montage
何千もの画像があるディレクトリで作業したいのですが、次のオプションはほとんどありません。
me@home$ montage -size 256x256 DSC01*.JPG.svg output.png
...しかし、一度に約100枚の画像しかキャプチャできないので十分ではありません。
me@home$ montage -size 256x256 *.svg output.png
...結果ファイルが大きすぎて解析できないため、すべての画像を同時にインポートします。
私は何ですか?したい一度に100〜200個のファイルを繰り返すだけです。 forループ(?)を使用すると、これを行うことができるようですが、どうすればよいか少し混乱しています。私はそれを行うための賢い方法があると思いましたか、find -exec
それをxargs
考えませんでした。使用していますが、bash
時々zsh
使用します。
要約すると、私は2600個のイメージファイルが与えられればモンタージュを約13~26回(100~200個のファイルごとに1回)呼び出し、n個のファイルが与えられればn回の倍数で呼び出せるライナーを探しています。
ベストアンサー1
bash
いくつかの修正で特別な配列属性を使用する1つのアプローチzsh
は次のとおりです。
image_files=(*.svg) # use your own glob expression
n=200 # number of files per command line; adjust to taste
for ((i=0; i < ${#image_files[@]}; i+=n)); do
montage -size 256x256 "${image_files[@]:i:n}" output-"$i".png
done