2014-09-12 49 views
0

在Linux中,我有一個文件夾,說ABC和此文件夾中我有子文件夾ABC移動目錄,而不會覆蓋這些文件

這些文件夾可以有文件,例如,文件夾A可以有, A1A2A3

我想所有這些文件夾移動到其他文件夾說A2Z

現在,這個新的文件夾A2Z可能或可能不具有文件夾ABC。我想移動不存在的文件夾,並且追加存在的文件夾的內容

+0

爲什麼接近?如果解決方案已經存在,你可以指導我一個嗎? – Angelo 2014-09-12 14:06:42

+0

超級用戶的這個答案應該可以幫助你解決問題 http://superuser.com/questions/37137/moving-files-on-linux-appending-existing-directories-in-destination – LondonRob 2014-09-12 14:08:24

回答

1

使用交互式的舉動,這使得一定要提示你在一個類似的文件/目錄的情況下,在目的地

mv --interactive 

或者,如果你不想移動已存在於目標目錄中的文件,那麼下面應該能爲你做的

for f in $(find /src/dir -type f); do target=/dest/dir/$(basename $f); if [[ ! -e $target ]]; then mkdir -p $(dirname $target);mv $f $target; fi; done 

另一種選擇將是設置--no-撞標誌,這將產生一個錯誤,如果你試圖覆蓋由輸出重定向現有文件

1

this answer在我們的姊妹網站SuperUser你能做到這一點,我建議這個問題在那裏遷移

rsync -av --remove-source-files src/ dest/ 

注意,所以這個問題,我的答案,可能很快就會消失!