假设当前有若干图片,分布在/images下面及/images/a/和images/b/目录下。
现在要求将所有这个下面的图片都拷贝出来到一个指定的目录:/tmp/images,不保持目录结构,该如何实现?
开始我想用find ./ -name "*.jpg" -exec 的方式实现,但是仔细看了下也不知道怎么实现,于是就想了个其他办法:
cp -f `find /images -name "*.*" | grep -i "\.jpg"` /tmp/images
上面的这个命令实现了我要求的这个目的,但是如果子目录下存在与上层目录下名称相同的图片,则会覆盖掉,因为这个命令不做目录拷贝。该如何实现连目录也一起拷贝呢?有空再研究研究。
另,如果只是要对这些文件进行删除的话就不用这种方式来实现了,直接可以如下:
find /images -name "*.jpg" -exec rm -f {} \;