2017-04-26 63 views
1

我需要一種遞歸迭代遍歷目錄並將內容複製到遵循相同目錄結構的另一個目錄的方法。 舉例來說,我有以下:bash腳本 - 在2個目錄上遞歸迭代

src1/ 
    dir1/ 
     sub-dir1.1/ 
     file1.1 
    dir2/ 
     sub-dir2.1/ 
    file1 

現在,我在別處另一個目錄,裏面有一個類似的結構之上,但用更少/更多文件+目錄。

src2/ 
    dir1/ 
     sub-dir1.1/ 
     file1.1 
     file1.2 
    dir2/ 
    dir3/ 
    file4 

我需要將所有內容從src1複製到src2,包括dir1和dir2下的所有子目錄。有沒有辦法做,而不是深入到N個子目錄下的每個文件並複製文件? 我試過使用「cp -r」,但它給了我一個「cp:不會覆蓋剛剛創建的」 感謝您對此的深入瞭解。

回答

1

rsync命令非常適合這一點。

像這樣的事情可能實現你想要的:

rsync -av src1/ src2/ 

嘗試使用-n標誌開始在「空轉」或測試模式下運行它。這將顯示它將複製哪些文件而不實際進行任何更改。

+0

謝謝。這工作完美。 – user3723491

1

嘗試rsync -a ing兩個文件夾

+0

謝謝。這工作完美。 – user3723491