File-Copy

根據條件複製文件

  • March 4, 2012

這是我試圖解決的問題:

  • 假設我有一個目錄“A”,其中包含一些文件以及一些其他目錄。
  • 我想將目錄A下的所有文件直接複製到目錄B。
  • 我想遞歸地將文件夾 A 中的所有文件夾複製到文件夾 C。

在 UNIX/Linux 中完成此任務的最短且較少特定於平台的方法是什麼?

大概是這樣的

find A -type f -maxdepth 1 -exec cp {} B/ \;

find A -type d -maxdepth 1 -mindepth 1 -exec cp -r {} C/ \;

標誌在哪裡-type,確定您要查找的類型(文件或目錄)、- maxdepth目錄的深度以及-exec對結果執行命令。

你可以cp用來複製目錄,給出一個以/,結尾的 glob 模式

cp -a A/*/ C/

-a並且您可以在沒有(類似於-r)選項的情況下複製文件

cp A/* B/

儘管最後一個命令會在未複製的目錄上產生無害的錯誤。

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