Linux 批量移动视频文件
使用 find 命令批量查找指定视频格式文件,并统一移动到当前目录,同时处理路径字符避免冲突。
支持的文件类型
- avi
- mp4
- mkv
- mov
- flv
批量移动脚本
bash
find -type f \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" -o -name "*.mov" -o -name "*.flv" \) -print0 | while read -d $'\0' i; do
v=${i:2}
q=${v//\//-}
mv "$i" ./"$q"
done逻辑说明
1. 查找文件
使用 find 递归搜索指定视频格式:
bash
find -type f \( ... \)2. 防止空格与特殊字符问题
使用 -print0 + read -d $'\0' 处理文件名安全性。
3. 路径重命名
bash
q=${v//\//-}将路径中的 / 替换为 -,避免目录冲突。
4. 移动文件
bash
mv "$i" ./"$q"统一移动到当前目录。
使用场景
- 视频文件整理
- 批量归档下载文件
- 目录结构扁平化处理
- NAS / 服务器文件清理
注意事项
- 会将所有文件移动到当前目录,可能覆盖同名文件
- 建议先取消
mv,用echo测试路径 - 大量文件时注意磁盘空间