将当前目录下面包括子目录中的png文件移动至指定的target目录
mv `find . -name “*.png”` ./target
或者
//{}表示find搜索的结果,\表示结束
find . name "*.png" -exec mv {} target/ \;
对一个的shell脚本
#!/bin/bash
for file in `find . -name “*.png”`
do
mv $file ./target
done
通常我们使用如下的方式去批量删除文件:
find . -name “*.png” | xargs rm -rf
那是否可以采用类似方式通过find命令来批量移动文件呢?
find . -name “*.png” | xargs mv /tmp
很遗憾,不能采用这种方式来实现
理由:像cd和ls命令只需要一个input,而像mv和cp等命令都需要两个input,需要source和target。通过管道只能获得一个input。
网友评论