2014-05-05 51 views
0

如果我有一個看起來像這樣的目錄樹:你如何用它的孩子替換一個目錄?

parent/ 
    child/ 
     many files 

/命令我應該使用什麼命令迅速做出這樣的:

parent/ 
    many files 

實際上,我只是想刪除一個級別的文件夾嵌套。我不在乎父母當前的任何其他文件。

回答

1

這是你做什麼:

cd parent 
mv child/* . 
rmdir child 

如果你有在child/目錄中.(點)開頭的文件,你需要做的

shopt -s dotglob 

爲了使*匹配他們(有其他方法來強制這個,但設置dotglob是最簡單的)。

如果child/包含文件或命名child目錄,那麼你就必須要麼重新命名或目錄parent/childmv操作之前。

0

這是怎麼回事?

mkdir new 
find parent -type f -exec mv {} new/. \; 

這將適用於任何深度的目錄。

+0

這也將移動父母/的直接子女,這也是不想要的。它也會使整個目錄結構扁平化,而不是被要求(可能或不可能)。另外,提問者希望將文件移動到「父/」而不是「新/」。 – Sigi

相關問題