同一のファイル名を持つ画像を含む 2 つのディレクトリがあります。各ディレクトリから 1 つのイメージを取得し、それらをコンパイルしてフラット化したいと考えています。次に、ファイル名ごとにバッチとして繰り返します。
mogrify を何らかの方法で使用できますか? それとも、スクリプトを作成する必要がありますか?
同一のファイル名を持つ画像を含む 2 つのディレクトリがあります。各ディレクトリから 1 つのイメージを取得し、それらをコンパイルしてフラット化したいと考えています。次に、ファイル名ごとにバッチとして繰り返します。
mogrify を何らかの方法で使用できますか? それとも、スクリプトを作成する必要がありますか?
スクリプトを作成する必要がありますが、複雑である必要はありません。1 行のシェル スクリプトでかまいません。ファイルfg/001.jpg
, fg/002.jpg
, …, bg/001.jpg
, bg/002.jpg
… があり、それらを階層化し、結果を に入れたいとしますout
。
次に、このワンライナーシェルスクリプトは、あなたが望むことを行います:
for F in fg/*; do composite "${F}" bg/"${F#fg/}" out/"${F#fg/}"; done
シェル変数F
はすべてのファイルをループします。厄介な"${F#fg/}"
ビットは、ディレクトリのプレフィックスを取り除くためのシェル マジックです。