我在特定目录中有数万张图像。我已经从该目录中挑选了要移动到子目录中的特定文件:
>find . -type f -name '*.png'| \
grep -Ev "(_retina|_hd|_iphone)"
这会产生数千(而不是数万)图像,这正是我想要的。我想将这些图像从 移动./
到./tmp/
.
这篇文章询问如何在 SVN 中整体移动这些图像,尽管它仍在使用svn mv
. 这将一张一张地移动图像,并且非常慢:
>find . -type f -name "*.png"| \
grep -Ev "(_retina|_hd|_iphone)"| \
xargs -I CMD svn mv "CMD" "tmp/CMD"
由于 svn 使用 保存文件修订历史svn cp
,这似乎更快:
>find . -type f -name ".png"| \
grep -Ev "(_retina|_hd|_iphone)"| \
xargs -I CMD svn cp "CMD" "tmp/CMD"
>find . -type f -name ".png"| \
grep -Ev "(_retina|_hd|_iphone)"| \
xargs -I CMD svn rm "CMD"
我首先svn cp
是所有想要的图像,它似乎飞得很快。然后我跑去svn rm
删除原始图像,这也很快。然后我承诺。
svn mv
在进行这样的批量移动时使用,与使用双重移动svn cp
相比有什么主要优势svn rm
吗?