有没有这样的命令行工具 mv /**/*.png /tmp/*.png

2014-11-26 17:12:10 +08:00
 TangMonk
如果用过grunt的应该知道把
2846 次点击
所在节点    问与答
8 条回复
wizardoz
2014-11-26 18:55:18 +08:00
for e in `find /** | egrep '/.*/.*\.png' `
do
mv $e /tmp/
done
cloudzhou
2014-11-26 18:57:56 +08:00
@wizardoz for e in 的语法对列表长度有限制的,需要使用 xargs
> cd /your/images/path; find .|grep '.png$'|xargs -I {} mv {} /tmp/
mind3x
2014-11-26 19:30:32 +08:00
find path -name '*.png' | xargs ...
sogg
2014-11-26 19:49:25 +08:00
find PATH -name '*.png' -exec mv -v {} /tmp/ \;
ensonmj
2014-11-26 21:17:23 +08:00
zsh
dorentus
2014-11-26 22:17:52 +08:00
fish shell, zsh 这些 shell 都支持类似的吧,不过后面的得用目录:

mv /**/*.png /tmp/

重名的文件会被无警告覆盖。
dorentus
2014-11-26 22:19:34 +08:00
另外你这个例子也太恐怖了:把系统根目录及其子目录下所有的 .png 文件都“移动”到 /tmp/ 下面……
Epsil0n9
2014-11-27 00:10:30 +08:00
@dorentus 最好是复制,万一打错了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/149470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX