#!/bin/bash # 定义目标目录(可修改为你的路径) TARGET_DIR="$1" # 检查是否传入目录参数 if [[ -z "$TARGET_DIR" || ! -d "$TARGET_DIR" ]]; then echo "[错误] 请指定有效的目录路径!" echo "用法: $0 /path/to/directory" exit 1 fi # 定义目标文件扩展名(视频 + 音频) FILE_EXTENSIONS=("mp4" "mkv" "flv" "avi" "wmv" "ts" "rmvb" "webm" "mp3" "flac" "aac" "wav" "ogg" "m4a" "wma" "alac") echo "[INFO] 正在扫描 $TARGET_DIR 下的媒体文件..." # 遍历所有子目录并匹配目标扩展名 find "$TARGET_DIR" -type f \( \ -iname "*.mp4" -o \ -iname "*.mkv" -o \ -iname "*.flv" -o \ -iname "*.avi" -o \ -iname "*.wmv" -o \ -iname "*.ts" -o \ -iname "*.rmvb" -o \ -iname "*.webm" -o \ -iname "*.mp3" -o \ -iname "*.flac" -o \ -iname "*.aac" -o \ -iname "*.wav" -o \ -iname "*.ogg" -o \ -iname "*.m4a" -o \ -iname "*.wma" -o \ -iname "*.alac" \) -exec ls -la {} \; # 汇总统计 echo "===== 统计 =====" for ext in "${FILE_EXTENSIONS[@]}"; do count=$(find "$TARGET_DIR" -type f -iname "*.$ext" | wc -l) echo ".$ext: $count 个文件" done