查找 *.mkv 和 *.mp4 有效
find /home6/movies/ -name '*.mp4' -o -name '*.mkv'
但由于某种原因移动它们部分失败并且仅移动 mkv 文件
find /home6/movies/ -name '*.mp4' -o -name '*.mkv' -exec mv {} /home6/archive/ \;
我是否使用了错误的查找开关“-o”来执行此任务?
看起来您需要将 or 表达式括在括号中,以便 exec 适用于两个匹配项。
这是一个类似的问题:`find -name` 匹配多个模式的模式
find /home6/movies/ \( -name '*.mp4' -o -name '*.mkv' \) -exec mv {} /home6/archive/ \;
为什么我们需要包含( -name '.mp4' -o -name '.mkv' ),请指教