Bash 将嵌套文件夹内容递归复制到一个文件夹(终端)

Bash 将嵌套文件夹内容递归复制到一个文件夹(终端),bash,filesystems,terminal,directory,Bash,Filesystems,Terminal,Directory,我有一个Wordpress上传文件夹,使用子文件夹构建了几个月 wolfr2:uploads wolfr$ tree . . |-- 2007 | |-- 08 | | |-- beautifulkatamari.jpg | | |-- beautifulkatamari.thumbnail.jpg | | |-- beetle.jpg | | |-- beetle.thumbnail.jpg 如何使用终端将所有图像递归复制到另一个文件夹中?我似乎不能像你一

我有一个Wordpress上传文件夹,使用子文件夹构建了几个月

wolfr2:uploads wolfr$ tree .
.
|-- 2007
|   |-- 08
|   |   |-- beautifulkatamari.jpg
|   |   |-- beautifulkatamari.thumbnail.jpg
|   |   |-- beetle.jpg
|   |   |-- beetle.thumbnail.jpg
如何使用终端将所有图像递归复制到另一个文件夹中?我似乎不能像你一样通配符文件夹可以通配符文件名。(例如。*.jpg或*)(我在Mac OSX上)


?

在我的头顶上:

find . -type f -name \*.jpg -exec cp \{\} $TARGETFOLDER \;

如果这不起作用,请发表评论,我会再试一次,但
查找
无疑是一种方法。

这将把所有*.jpg文件从当前文件夹复制到一个新文件夹,并保留目录结构

tar cvfp `find . -name "*.jpg"` | (cd <newfolder>; tar xfp -)
tar cvfp`find-名称“*.jpg”`|(cd;tar xfp-)

要复制而不保留目录结构,请执行以下操作:

cp `find . -name "*.jpg"` <newfolder>
cp`find-名称“*.jpg”`

上述命令在macOS 10.15上都不适用于我。这是一个有效的方法:

find . -name "*.jpg" -exec cp /{/} [target folder path] \;

我应该在OP中证明,我想摆脱结构,只想将所有图像放在一个平面文件夹中。该死,我在查找中的反引号被删除了。这似乎不适用于名称中带有空格的文件。这是正确的答案,因为它适用于名称中带有空格的文件/文件夹。
find . -name "*.jpg" -exec cp /{/} [target folder path] \;