2015-05-30 78 views
0

我試圖在現有樹創建一個新的文件夾:如何在文件夾的現有樹中(每個現有文件夾中)遞歸地創建文件夾?

find /home/a/Desktop/MyCycles/DavidSilver -type d -exec sh -c '(cd {} && mkdir bin)' ';' 

在Ubuntu中,但我得到的

mkdir: cannot create directory ‘bin’: File exists 

這BTW是不是真正的無限循環,因爲該文件夾並不存在於/home/a/Desktop/MyCycles/DavidSilver的每個子文件夾中。

任何想法如何解決這個問題?

感謝

回答

2

假設GNU find(1)

find /home/a/Desktop/MyCycles/DavidSilver -type d -printf '%p/bin\0' | xargs -0 mkdir 

Withtout GNU find(1),但假設目錄名稱不包含換行符:

find /home/a/Desktop/MyCycles/DavidSilver -type d | \ 
    sed 's!$!/bin!' | \ 
    xargs mkdir 
+0

不行的,我試了一下它只是在屏幕上打印'/ bin/bin/bin ......'。編輯:好吧,它剛剛停止並確實創建了該文件夾,但co德跑了2分鐘。 – ron

+0

是的,在大多數文件系統上目錄操作是同步的。你無能爲力(呃,實際上你可以讓它們異步,但是你不應該,如果你關心你的數據的話)。 – lcd047

相關問題