
我有一個大目錄“圖片”,其中有很多單獨的子目錄,每個子目錄中都有不同數量的圖像檔案。我想將子目錄中的每個檔案移動到一個統一的目錄中。
需要克服的一項挑戰是各個子目錄中存在許多同名檔案。即圖片/Subdir1/dsc_001.jpg、圖片/Subdir15/dsc_001.jpg、圖片/Subdir120/dsc_001.jpg
由於我想保留兩者,因此我嘗試在查找一行中使用備份標誌,如下所示:
find . -type f -exec mv --backup=t '{}' /media/DATA-HDD/AllImages \;
但是,經過測試,所有來源檔案都會移動,但不會發生重命名。我只有一個文件,它恰好是最後移動的文件。我也嘗試以相同的方式使用 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~