Bash

如何將特定子目錄複製到新目錄?

  • May 20, 2020

我正在嘗試將特定的子目錄(以及其中包含的文件)複製到一個新目錄。假設我在第一個目錄 ( dir0/) 中,它包含許多名為000/001/002/、 … 的子目錄,以此類推。這些子目錄中的每一個都包含 1000 個子目錄,其中包含文件。一個例子可能是:dir0/000/aaa/file1.txtdir0/001/bbb/file2.txt

我有一個 .txt 文件,其中包含要複製的子目錄列表(我只有子目錄的名稱,而不是完整路徑),因此,對於上面的範例,我的 txt 文件將包含以下資訊:

aaa
bbb

有沒有辦法使用 bash 或 python 將名稱包含在 txt 文件中的所有子目錄複製到新目錄?

謝謝您的幫助。我是 bash 和 python 的新手。

假設,正如您在評論中所說,文本文件中的名稱是唯一的,整個目錄樹中只有一個具有該名稱的子目錄,那麼您可以簡單地執行(在 bash 中):

while read -r dirName; do
   cp -r dir0/*/"$dirName"/ /path/to/newTargetDir
done < listOfDirs.txt

引用自:https://unix.stackexchange.com/questions/587946