如果我有一個看起來像這樣的目錄樹:你如何用它的孩子替換一個目錄?
parent/
child/
many files
/命令我應該使用什麼命令迅速做出這樣的:
parent/
many files
實際上,我只是想刪除一個級別的文件夾嵌套。我不在乎父母當前的任何其他文件。
如果我有一個看起來像這樣的目錄樹:你如何用它的孩子替換一個目錄?
parent/
child/
many files
/命令我應該使用什麼命令迅速做出這樣的:
parent/
many files
實際上,我只是想刪除一個級別的文件夾嵌套。我不在乎父母當前的任何其他文件。
這是你做什麼:
cd parent
mv child/* .
rmdir child
如果你有在child/
目錄中.
(點)開頭的文件,你需要做的
shopt -s dotglob
爲了使*
匹配他們(有其他方法來強制這個,但設置dotglob
是最簡單的)。
如果child/
包含文件或命名child
目錄,那麼你就必須要麼重新命名或目錄parent/child
的mv
操作之前。
這是怎麼回事?
mkdir new
find parent -type f -exec mv {} new/. \;
這將適用於任何深度的目錄。
這也將移動父母/的直接子女,這也是不想要的。它也會使整個目錄結構扁平化,而不是被要求(可能或不可能)。另外,提問者希望將文件移動到「父/」而不是「新/」。 – Sigi