Files
report_count-log_video-audio/watch-count_media.sh
2025-03-24 23:42:18 +01:00

89 lines
2.4 KiB
Bash

#!/bin/bash
# Fonction de navigation interactive avec fzf
explorer() {
local DIR="$1"
while true; do
CHOICE=$(ls -Ap "$DIR" | awk '{print} END {print "../"}' | fzf \
--prompt="📂 $DIR > " \
--header="Sélectionne un fichier .log ou un dossier" \
--height=40% --reverse)
[ -z "$CHOICE" ] && echo "❌ Annulé." && exit 1
if [ "$CHOICE" == "../" ]; then
DIR=$(dirname "$DIR")
continue
fi
FULL_PATH="$(realpath "$DIR/$CHOICE")"
if [ -d "$FULL_PATH" ]; then
DIR="$FULL_PATH"
continue
fi
if [[ "$FULL_PATH" =~ \.log$ ]]; then
echo "✅ Fichier sélectionné : $FULL_PATH"
echo ""
echo "⏳ Lancement du compteur dans 2 secondes..."
sleep 2
compteur "$FULL_PATH"
return
else
echo "❌ Ce n'est pas un fichier .log. Essaie encore."
fi
done
}
# Fonction de comptage audio/vidéo (sans couleurs)
compteur() {
LOGFILE="$1"
TMP_SCRIPT="/tmp/count_media_temp.sh"
cat > "$TMP_SCRIPT" <<EOF
#!/bin/bash
echo "--- Compteur audio/vidéo pour : $LOGFILE ---"
# Vidéo
mp4=\$(grep -ic '\.mp4$' "$LOGFILE")
mkv=\$(grep -ic '\.mkv$' "$LOGFILE")
avi=\$(grep -ic '\.avi$' "$LOGFILE")
mov=\$(grep -ic '\.mov$' "$LOGFILE")
video_total=\$((mp4 + mkv + avi + mov))
last_video=\$(grep -Eo '[^/"]+\.(mp4|mkv|avi|mov)' "$LOGFILE" | tail -n 1 | LC_ALL=C tr -dc '[:print:]\n')
echo "🎬 Vidéo :"
printf " mp4 : %d\n" \$mp4
printf " mkv : %d\n" \$mkv
printf " avi : %d\n" \$avi
printf " mov : %d\n" \$mov
echo " ➤ Total vidéo : \$video_total"
echo " 📄 Dernier fichier vidéo : \$last_video"
# Audio
mp3=\$(grep -ic '\.mp3$' "$LOGFILE")
flac=\$(grep -ic '\.flac$' "$LOGFILE")
wav=\$(grep -ic '\.wav$' "$LOGFILE")
ogg=\$(grep -ic '\.ogg$' "$LOGFILE")
audio_total=\$((mp3 + flac + wav + ogg))
last_audio=\$(grep -Eo '[^/"]+\.(mp3|flac|wav|ogg)' "$LOGFILE" | tail -n 1 | LC_ALL=C tr -dc '[:print:]\n')
echo ""
echo "🎵 Audio :"
printf " mp3 : %d\n" \$mp3
printf " flac : %d\n" \$flac
printf " wav : %d\n" \$wav
printf " ogg : %d\n" \$ogg
echo " ➤ Total audio : \$audio_total"
echo " 📄 Dernier fichier audio : \$last_audio"
EOF
chmod +x "$TMP_SCRIPT"
watch -n 1 "$TMP_SCRIPT"
}
# Lancer depuis la racine
explorer "/"