我希望递归遍历目录结构的文件夹并将我找到的任何 .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
答案3
这将保留目录结构。
find photos/ -type f \( -iname '*.jpg' -o -iname '*.jpeg' \) -print0 |xargs -0 tar c |(cd /cpjpg ; tar x)