假设我有folder0 及其子文件夹和文件的结构。
folder0
subfolder01
file011
file012
subfolder02
file021
file01
file02
我想将主文件夹中的所有文件复制folder0
到其他位置,以便所有文件都在一个目录中?我怎样才能做到这一点?我用了
cp --recursive folder0address targetfolderaddress
但子文件夹复制到目标文件夹。我只想要目录和子目录中的所有文件而不是文件夹。我的意思是目标文件夹中如下所示:
targetfolder
file011
file012
file021
file01
file02
答案1
使用find
:
find folder0 -type f -exec cp {} targetfolder \;
使用 GNUcoreutils
你可以更有效地做到这一点:
find folder0 -type f -exec cp -t targetfolder {} +
前一个版本cp
针对每个复制的文件运行,而后者cp
仅运行一次。
答案2
答案3
或者使用 xargs
find folder0 -type f | xargs -I {} cp -v {} targetfolder;
使用 -v 显示正在发生的情况。