仅将 JPG 从目录结构复制到另一个位置 Linux

仅将 JPG 从目录结构复制到另一个位置 Linux

我希望递归遍历目录结构的文件夹并将我找到的任何 .jpg 复制到另一个目录中。

我认为我的想法是错误的:

cp -R photos/*.jpg /cpjpg

我如何从 Ubuntu 的命令行执行此操作?

答案1

这会将当前目录及其所有子目录中以 .jpg 或 .jpeg(同样不区分大小写)结尾的所有文件复制到目录 /cpjpg。不会复制目录结构。

find . -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) -exec cp '{}' /cpjpg \;

答案2

这将保留目录结构:

rsync -av --include='*.jpg' --include='*/' --exclude='*' SRC DST

http://logbuffer.wordpress.com/2011/03/24/linux-copy-only-certain-filetypes-with-rsync-from-foldertree/

答案3

这将保留目录结构。

find photos/ -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -print0 |xargs -0 tar c |(cd /cpjpg ; tar x)

相关内容