Cp
如何遞歸複製“只是文件”
假設我有這個文件夾 0 和其中的子文件夾和文件的結構。
folder0 subfolder01 file011 file012 subfolder02 file021 file01 file02
我想將主文件夾中的所有文件複製
folder0
到其他地方,這樣所有文件都在一個目錄中?我怎樣才能做到這一點?我用了cp --recursive folder0address targetfolderaddress
但子文件夾複製到目標文件夾。我只想要目錄和子目錄中的所有文件而不是文件夾。我的意思是目標文件夾中的以下內容:
targetfolder file011 file012 file021 file01 file02
使用
find
:find folder0 -type f -exec cp {} targetfolder \;
使用 GNU
coreutils
,您可以更有效地做到這一點:find folder0 -type f -exec cp -t targetfolder {} +
前一個版本
cp
針對每個複制的文件執行,而後者cp
只執行一次。
使用 zsh,感謝
**
遞歸 glob和glob 限定符.
僅匹配正常文件:cp -p folder0/**/*(.) targetfolder