【发布时间】:2011-11-13 14:46:08
【问题描述】:
重写以下内容最有效的方法是什么:
mv *.jpg ~/Pictures && mv *.gif ~/Pictures && mv *.png ~/Pictures
【问题讨论】:
重写以下内容最有效的方法是什么:
mv *.jpg ~/Pictures && mv *.gif ~/Pictures && mv *.png ~/Pictures
【问题讨论】:
你可以组合成一个
mv *.{jpg,gif,png} ~/Pictures
如果您担心文件过多导致参数列表过长
find -regex ".*\.\(jpg\|gif\|png\)" -print0 | xargs -r0 mv --target='~/Pictures'
【讨论】:
mv *.jpg *.gif *.png ~/Pictures -- 假设您不是很专门地使用 && 组合器来防止在移动 JPG 文件失败时复制 GIF 文件。
高效?文件名计算中的任何效率都可能被实际复制所淹没,但您可以尝试:
mv *.jpg *.gif *.png ~/Pictures
如果您正在谈论 很多 文件,则必须注意违反命令行大小限制,但随后您可能会考虑使用 find 和 @987654323 @ (我不会通过完整描述来使解决方案复杂化,特别是因为在 SO 网络的其他地方可能有对该扩展问题的答案)。
【讨论】:
shopt -s nocaseglob
mv *.{jpg,gif,png} ~/Pictures
【讨论】: