2つの画像フォルダをマージ

2つの画像フォルダをマージ

私のデスクトップには、それぞれ約600個の画像を含む2つの画像フォルダがあります。両方のフォルダに重複した画像があり、同じファイル名を持つ画像もあります。 2つを一緒にマージする方法 - 重複した画像やファイル名の変更には問題はありませんが、1つのフォルダにのみ存在したいです。

PS。私はコマンドラインを初めて使用します。

答え1

コマンドラインを初めてお使いの方なのでステップごとに一つずつ説明します。

ターミナル/シェル/コマンドラインを開くと、次のコマンドプロンプトが表示されます。

username:~ $ 

またはそのようなもの。ユーザー名を含むホームディレクトリから始めることはほぼ確実です。

2つの画像フォルダfolder1がありますfolder2。デスクトップにいると言われたので、まず次のディレクトリに切り替えますDesktop

cd Desktop

このcdコマンドは「ディレクトリ変更」コマンドで、音と正確に一致します。

mvこれで、「移動」を意味するコマンドを使用します。

mv -i folder1/* folder2/

私は-i「対話型」を意味し、ファイル名の競合があるたびにメッセージを表示するフラグを使用しました。ターゲットファイルを上書きするように求められます。

その後、アーカイブされたファイル*の名前を変更してfolder1競合しないように手動で競合を解決する必要がありますfolder2。最後に、上記のコマンドを再実行しますが、今回は競合しないでください。

結局のところfolder1、ディレクトリは空でなければならないので削除してください。

rmdir folder1

もう終わりました!

以下の簡単なbashチュートリアルを読んでください。これ基本を学びましょう。

  • もちろん、名前の競合は、各ファイルの名前を変更することでプログラム的に解決することができますが、folder1私は単に仕事を維持しようとしています。

答え2

グラフィカルユーザーインターフェースを含む

必要でない場合は、コマンドラインを使用する必要はありません!すべてのファイルマネージャでは、少なくともディレクトリ間の移動、ディレクトリの作成と削除、ファイルの移動などを実行できます。ソースディレクトリのファイル名がターゲットディレクトリのファイルと同じ場合、一部のファイルは他のファイルよりも複雑になることがあります。

重複した画像を検出して削除するには、次のものを使用できます。ゲッチ。 (配布用のパッケージをインストールしてくださいgeeqie。)永続的な「ディレクトリモード」(サムネイルで現在のディレクトリの画像の一覧を表示して簡単にナビゲートできます)と重複検出(メニュー「ファイル」→「重複する項目を検索」)を押してから、すべて画像をドラッグアンドドロップして、現在選択されている画像に対して基本的なファイル操作(コピー、移動、削除、おおよその名前変更機能)を実行することもできます。

コマンドラインの使用

本当にコマンドラインを使用したい場合は、Huayuantouは良い入門書を書いた。。もう少し高度なコンテンツを追加します。

に同じ名前のファイルがすでに存在しない限り、すべてのファイルをからにfolder1移動するには、次のようにします。folder2folder2

yes n | mv -i folder1/* folder2/

名前が競合するファイルはに残っているため、folder1そのファイルを調べて名前を変更するか削除するかを決定できます。

一意の名前を持つようにファイル名を変更する場合は、適用できるいくつかの戦略があります。画像がある場合EXIFデータがある場合は、撮影日などの追加情報を含めるようにファイル名を変更できます。 EXIFデータがなくても、サイズなど一部の画像特性を含めたい場合があります。バラよりEXIFデータに基づいて写真の名前を変更するには?名前に作成日を含めるように画像の名前を変更するすべてのファイルの名前を変更し、ファイル名に画像サイズを追加する方法画像ファイルの名前を年齢別に一括変更し、ファイル名に日付と変数を追加します。、...いくつかの可能性があります。ファイルに一意の名前を付けるには、次のようにします。番号を付ける

コマンドラインユーティリティを使用して視覚的に類似した画像を取得するには、次のものを使用できます。findimagedupes(再配布用のパッケージをインストールしてください。)

答え3

あなたmvが持っているならゲヌfoo、次を使用してあるディレクトリから別のディレクトリにファイルを移動し、bar既存のファイルの名前を変更できます。

mv --backup=numbered foo/* bar

(失う恐れのあるファイルに対してこのコマンドを実行する前に、サンプルデータをテストする必要があります...)

関連情報