將子目錄中的所有檔案移至主目錄中

將子目錄中的所有檔案移至主目錄中

我有一個名為「public」的目錄,其中包含一千個子目錄,例如:

public/63a/e9b/79a/file.pdf 
public/64a/2cd/184/other_file.pdf
...

我的目標是將這些子目錄中包含的所有檔案移到主目錄(即:public)中。
我想我需要一個遞歸函數來做到這一點。
有人能幫我嗎 ?

答案1

執行此操作的工具已經是標準 Linux 環境的一部分:

find public -type f -exec mv {} public/ \;

解釋:

我們想要find文件而不是目錄 ( -type f)public及其子結構,並且在每個找到的文件上執行 ( -exec) 一個命令,該命令是將其(由 表示{})移動到公共。

轉義的分號僅標記序列的結束-exec

相關內容