私はそれぞれ異なる数の画像ファイルを含む別々のサブディレクトリがたくさんある大きなディレクトリ「Pictures」を持っています。サブディレクトリ内のすべてのファイルを統合ディレクトリに移動したいと思います。
克服すべき課題の1つは、さまざまなサブディレクトリに同じ名前のファイルが多数あることです。つまり、picture/Subdir1/dsc_001.jpg、picture/Subdir15/dsc_001.jpg、picture/Subdir120/dsc_001.jpg
両方を維持したいので、次のようにクエリ行にバックアップフラグを使用してみました。
find . -type f -exec mv --backup=t '{}' /media/DATA-HDD/AllImages \;
ただし、テストではすべてのソースファイルが移動されますが、名前は変更されません。ファイルが1つだけあり、そのファイルが最後に移動されたファイルです。私も同じ方法でcpを試しましたが、同じ結果を得ました。
この仮想マシンでは、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~