我正在用大量jpgs進行大量目錄的重大重構,其中一些與其他目錄中的文件具有相同的名稱。我想將文件移動/複製到備用目錄,並且如果名稱與該目錄中的另一個文件相匹配(重命名爲IMG_238.jpg
到IMG_238_COPY1.jpg
,IMG_238_COPY2.jpg
等),而不是覆蓋現有文件,bash會自動重命名它們。在bash中移動文件並自動重命名複製文件而不覆蓋現有文件的方式
我已經設置了一個腳本,它需要jpegs並將它們移動到基於exif數據的新目錄中。移動一個jpg的腳本的最後一行是:mv -n "$JPEGFILE" "$DIRNAME"
我正在使用-n選項,因爲我不想覆蓋文件,但現在我必須去手動排序,不會被移動/複製。我的GUI自動執行此操作...是否有一種相對簡單的方法在bash中執行此操作?
(萬一它很重要,我在Mac OSX Lion中使用bash 3.2)。
你正在使用什麼發行版,還是需要跨發行版? – 2011-12-28 13:45:48
我用bash 3.2使用Mac OSX Lion。我會更新我的問題。 – 2011-12-28 13:47:55
你可能想看看[fdupes](http://premium.caribe.net/~adrian2/fdupes.html) - 它可以幫助你擺脫重複文件,所以你留下的任何文件「unmoved 「由於相同的名稱是真正不同的文件。 – holygeek 2011-12-28 14:29:52