linux - 查找不同类型的文件并移动到特定目录
问题描述
查找 *.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` pattern that matches multiple patterns
find /home6/movies/ \( -name '*.mp4' -o -name '*.mkv' \) -exec mv {} /home6/archive/ \;
推荐阅读
- python - 当我需要填充单元格时,变量(选项卡名称)不起作用
- javascript - 如何以特定格式显示当前日期和时间?
- sql - 为什么“DD/MM/YYYY”在过滤器中不起作用?
- javascript - 错误 [ERR_HTTP_HEADERS_SENT]:在 ServerResponse.setHeader (_http_outgoing.js:518:11) 将标头发送到客户端后无法设置标头
- apache-kafka - Flink - 如何使用 withTimestampAssigner 从事件有效负载中获取时间(不使用 Kafka 时间戳)
- javascript - 从 uri 或 require 对本机图像源做出反应
- elixir - Elixir Simple 模块仅产生“参数错误”
- java - 如何分配一个长的十六进制值,我应该在 Java 中将它分配给什么数据类型?
- javascript - Quill.js 不断从锚标签中剥离类
- python - 如何重命名通过 Django Rest Framework 上传的图像