同一のファイル名を持つ画像を含む 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/}"ビットは、ディレクトリのプレフィックスを取り除くためのシェル マジックです。