重写以下内容的最有效方法是什么:
mv *.jpg ~/Pictures && mv *.gif ~/Pictures && mv *.png ~/Pictures
答案 0 :(得分:3)
您可以分组为一个
mv *.{jpg,gif,png} ~/Pictures
如果你担心导致参数列表太长的文件太多
find -regex ".*\.\(jpg\|gif\|png\)" -print0 | xargs -r0 mv --target='~/Pictures'
答案 1 :(得分:2)
高效?实际复制可能会淹没文件名计算的任何效率,但您可以尝试:
mv *.jpg *.gif *.png ~/Pictures
如果您正在讨论文件的批次,则必须注意吹出命令行大小限制,但之后您可能会考虑使用find
和xargs
(我不会通过完全描述这一点来使解决方案复杂化,特别是因为在SO网络的其他地方可能有一个扩展问题的答案)。
答案 2 :(得分:0)
shopt -s nocaseglob
mv *.{jpg,gif,png} ~/Pictures