Windowsでは、 この機能(右側のテキスト) 優れた cam2pc ソフトウェアを使用して、カメラから画像とビデオをダウンロードし、同じ手順で名前を変更しています。同じことをする、またはそれと同じくらい良いLinux用のソフトウェアは見つかりませんでした。提案をお願いしますか?
詳細と要件:
path/year/year-month-day hour-min TOPIC serial#.lowercase-extension
photos/2009/20091218 1214 Skiing with friends 001.jpg
%Y%m%d %h%u %P %{num:3}.%{ext}
のようになります)ちなみに、私はLinuxに不慣れで、プログラマーではないので、あまり技術的ではない、または十分に文書化されていないソリューションがすでに存在することを望んでいます。
カスタムソリューションには少しプログラミングが必要です-シェルスクリプトを書く必要があります:
find
コマンドを使用して、新しくマウントされたUSBドライブにメディアファイルが含まれているかどうかを確認します。
メディアファイルが見つからない場合は、スクリプトを中止します。find "/media/disk/dcim" -iname "img*.*" -type f
read
コマンドを使用して、トピックの入力を求めます。 (質問の%P
に等しい。)
最も古いメディアファイルのタイムスタンプを見つけます。ls -GgtR --full-time --time-style +"%Y%m%d %H%M" *.png | tail -1 | cut -c21-34
-GgtR
=グループと所有者を非表示にし、時間で並べ替え、再帰的に一覧表示します。tail
=出力の最後の1行のみを保持します。cut
= 21〜34文字のみを保持します。mkdir
を使用して、その日付とトピックに基づいて新しいフォルダーを作成します。
find
コマンドを-execdir
オプションとともに使用して、すべてのメディアファイルを検索します。
次に、ヒットするたびに(mv
)を新しいフォルダーに移動します。
then jhead
を使用して、各ファイルのタイムスタンプに従って各ヒットの名前を変更します。
オプション:umount
コマンドを使用して、USBドライブをアンマウントします。
USBドライブがマウントされているときにこのスクリプトを実行するようにLinuxを設定します。 USBドライブ(またはカメラ)の検出は、Linuxのバリアントによって異なります。 OS固有のドキュメントを参照してください。または、スクリプトを手動で実行します...
私はする必要があります 費やすinvestbashコマンドの学習、およびLinuxがドライブをマウントする方法の学習に数時間かかります。
明らかなことをお話ししまれば申し訳ありませんが、そのアプリケーションが [〜#〜] wine [〜#〜] で実行できるかどうか試してみましたか?
Cam2pcのWebサイトを見たからといって、多くの小さなツール(cron、wget、diff、mkdir、mvなど)を使用して、どのUnixマシンでも確実に再現できる多くの機能がありますが、ある程度のスキルや少しの暇が必要です。
私がここにいる間、あなたが必要としているすべての機能を持っているわけではありませんが、 DigiKam と F-Spot も見てみることをお勧めします、多分あなたがいくつかの便利なトリックをするのを助けるかもしれません。
お役に立てば幸いです。
[〜#〜] edit [〜#〜]:WINEの下でボックス(Ubuntu 9.04 64ビット)内でcam2pcを試しましたが、それは魅力のように機能しました!これは、cam2pcが実行されているデスクトップと、uname-aおよびwine--versionの出力を備えたターミナルを示すスクリーンショットです。
与える Digikam しっかりと進みます。問題が発生した場合は、ここに投稿してください。できる限りサポートさせていただきます。ここを見てください。この画像は、要件を満たしていることを示していると思います。これらのディレクトリ名は選択によるものであり、任意の名前にすることができます。すでにKDEを使用している場合は、間違いなくDigikamがその答えです。
この答えは、torbengbの答えを補完するものにすぎません。写真の一括名前変更/移動にはexiftoolを使用しています。
Exif-dataから写真の日付と時刻を抽出し、ディレクトリと名前をほぼ任意の方法で作成できます。
ファイルの名前変更 に関するFAQ /マニュアルエントリへのクイックリンクは次のとおりです。