
大きなディレクトリ「Pictures」には、多数の個別のサブディレクトリがあり、それぞれにさまざまな数の画像ファイルが含まれています。サブディレクトリにあるすべてのファイルを 1 つの統合ディレクトリに移動したいと考えています。
克服すべき課題の 1 つは、さまざまなサブディレクトリに同じ名前のファイルが多数存在することです。例: Pictures/Subdir1/dsc_001.jpg、Pictures/Subdir15/dsc_001.jpg、Pictures/Subdir120/dsc_001.jpg
両方を保持したいので、次のように、検索ワンライナーでバックアップ フラグを使用しようとしました。
find . -type f -exec mv --backup=t '{}' /media/DATA-HDD/AllImages \;
しかし、テストしてみると、すべてのソース ファイルは移動しますが、名前の変更は行われません。最後に移動されたファイルが 1 つだけあるだけです。同じ方法で cp も使用してみましたが、結果は同じでした。
このVM上でUbuntu 20.04を実行しています。
coreutils のマニュアルを確認しましたが、これを実行するように指示されているので、なぜ計画どおりに動作しないのかわかりません。
答え1
結局、コマンド ワンライナーはまさに私が必要としていたものであり、ずっと機能していました。最初に理解できなかったのは、出力/バックアップ ファイルが実際には隠しファイルであるということです。それが形式であるかどうかはわかりませんでした。ターミナルでディレクトリを一覧表示するのではなく、GUI でのみ確認し、隠しファイルの表示をオンにしていませんでした。ls -l を実行すると、ファイルがずっとそこにあったことがわかりました。
-rw-rw-r-- 1 mike mike 140302 Jan 11 2020 test.JPG
-rw-rw-r-- 1 mike mike 140302 Jan 11 2020 test.JPG.~1~
-rw-rw-r-- 1 mike mike 140302 Jan 11 2020 test.JPG.~2~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt.~1~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:32 test.txt.~2~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt.~3~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt.~4~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:43 test.txt.~5~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:43 test.txt.~6~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt.~7~
-rw-rw-r-- 1 mike mike 0 Aug 15 02:34 test.txt.~8~