web-dev-qa-db-ja.com

解像度に基づいて画像をフォルダに並べ替える方法は?

背景:保存されたデスクトップ画像でいっぱいのフォルダがあります。解像度(1024x768など)に基づいてフォルダーに入れたいのですが、その場でフォルダーを作成するのはおまけです。現在、画像はすべてフォルダー内にありますが、一部はサブフォルダー内にあります。それが物事を容易にするならば、私はそれらを手でマージすることができます。

私はまだちょっとバッシュ初心者ですが、ターミナルが好きです。本当に、私はプログラマーではありません。

私はMacOS Xを使用していますが、これを実現するために追加のアプリをインストールすること(MacPorts?)、または別のOSを使用すること(現在VMWare内にWindows XP、Windows Vista、およびUbuntu 9をセットアップしています)に反対していません。 )。

どんな助けでもいただければ幸いです!ありがとうございました!

9
flammable

真剣に、返信してくれてありがとう、みんな!私はこれに戻って、より経験を積んでいます、そしてここでのコメントのほとんどは今より理にかなっています。

@zatatlanのスクリプトを少し調整して、ファイル名のスペースに対応し、ファイル拡張子を追加しました。

#!/bin/bash

shopt -s nullglob # The script spits errors if this is not set and there are, say, no *.png files.
for image in *.jpg *.JPG *.jpeg *.JPEG *.gif *.GIF *.bmp *.BMP *.png *.PNG;
    do res=$(identify -format %wx%h\\n "$image");
    mkdir -p $res;
    mv "$image" $res;
done
4
flammable

私はそれが1年以上のトピックであることを知っています(それについては申し訳ありません)が、誰かが完全に機能するスクリプトを必要とするかもしれないと思うので、ここにあります。ここでアイデアを取り入れて、取得したスクリプトにコンパイルします。

#!/bin/bash

for image in *.jpg;
    do res=$(identify -format %wx%h\\n $image);
    mkdir -p $res;
    mv $image $res;
done
11
zatatlan

imagemagickを使用して画像の解像度を検出することができます 。それをbashループでラップすると、そこに行きます。 bash Shellに帰るまで待たないので、ここに頭から離れたものがあります。構文はおそらく間違っていますが、いくつかの手がかりが得られる可能性があります。

for image in $(`*.jpg`) do
   res=`identify $image | grep -o 'Resolution:'`
   if [ ! -d $res ]; then
     mkdir $res
   fi

   mv $image $res
done

スクリプトはその場でディレクトリを作成します。 Macではbashとimagemagickの両方を利用できます。

3
user4126

Amok EXIFソーター があります

AmoK Exif Sorterは、画像の名前を変更したり、画像を任意のフォルダーに移動またはコピーしたりできます。
フォルダには、exifデータに従って名前を付けることができます。

ファイル名のライブプレビュー、統合された画像とexifデータビューア、ドラッグアンドドロップ、サムネイルビュー、自動更新チェック、さまざまなカメラとユーザーのプロファイルを提供します。

作成日別のビデオファイル、IPTC形式のファイルもサポートします。

Javaで記述され、JRE5をサポートするすべてのプラットフォームで動作します。
リンクの機能リストを確認してください。

ドイツ語に落胆しないでください。
SpracheをプルダウンしてEnglischを選択し、アプリケーションを再起動します。

2
nik

ImageMagick Identificationコマンドを使用すると、幅と高さをピクセル単位で指定できます。

~$ identify -format %w_%h\\n *jpg 
2868_3429
1056_960

これをforループの一部としてbashスクリプトに入れ、安全のために、解像度と同じ名前のディレクトリにファイルをコピーできます(存在するかどうかを確認し、存在しない場合は作成します)。

1
mas

解決の大まかな順序を与える基本的な方法は、ファイルサイズで整理することです。これはどのOSにも組み込まれるべきものなので、特別なものは必要ありません。これの大きな落とし穴は、これが機能するためには写真のフォーマットが同じである必要があるということです。これは完璧な解決策ではありませんが、実際に法案に適合するものが見つかるまでは、簡単な一時的なギャップになる可能性があります。

0
DHayes