Files
StudyDiary/03-工作笔记/扫描目录没有延时.sh
T
2026-07-23 20:36:13 +08:00

43 lines
1.2 KiB
Bash

#!/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