Update watch-count_media.sh

This commit is contained in:
Ssyleric
2025-03-24 23:42:18 +01:00
committed by GitHub
parent abd41cf6ce
commit e809d72e65

View File

@@ -1,29 +1,28 @@
#!/bin/bash #!/bin/bash
# Fonction de navigation interactive avec fzf
explorer() { explorer() {
local DIR="$1" local DIR="$1"
while true; do while true; do
# Crée une liste : ".." pour revenir + fichiers/rep dans ce dossier CHOICE=$(ls -Ap "$DIR" | awk '{print} END {print "../"}' | fzf \
CHOICE=$(ls -Ap "$DIR" | fzf --prompt="📂 $DIR > " --header="Sélectionne un fichier .log ou un dossier" --height=40% --reverse) --prompt="📂 $DIR > " \
--header="Sélectionne un fichier .log ou un dossier" \
--height=40% --reverse)
# Si échappé ou rien sélectionné
[ -z "$CHOICE" ] && echo "❌ Annulé." && exit 1 [ -z "$CHOICE" ] && echo "❌ Annulé." && exit 1
# Gestion ".." pour revenir au parent
if [ "$CHOICE" == "../" ]; then if [ "$CHOICE" == "../" ]; then
DIR=$(dirname "$DIR") DIR=$(dirname "$DIR")
continue continue
fi fi
FULL_PATH="$DIR/$CHOICE" FULL_PATH="$(realpath "$DIR/$CHOICE")"
# Si dossier → replonger dedans
if [ -d "$FULL_PATH" ]; then if [ -d "$FULL_PATH" ]; then
DIR="$FULL_PATH" DIR="$FULL_PATH"
continue continue
fi fi
# Si fichier avec extension .log → ok
if [[ "$FULL_PATH" =~ \.log$ ]]; then if [[ "$FULL_PATH" =~ \.log$ ]]; then
echo "✅ Fichier sélectionné : $FULL_PATH" echo "✅ Fichier sélectionné : $FULL_PATH"
echo "" echo ""
@@ -37,42 +36,53 @@ explorer() {
done done
} }
# Fonction de comptage audio/vidéo (sans couleurs)
compteur() { compteur() {
LOGFILE="$1" LOGFILE="$1"
TMP_SCRIPT="/tmp/count_media_temp.sh"
watch -n 1 " cat > "$TMP_SCRIPT" <<EOF
echo '--- Compteur audio/vidéo pour : $LOGFILE ---' #!/bin/bash
# Vidéos echo "--- Compteur audio/vidéo pour : $LOGFILE ---"
mp4=\$(grep -ic '\.mp4$' \"$LOGFILE\")
mkv=\$(grep -ic '\.mkv$' \"$LOGFILE\") # Vidéo
avi=\$(grep -ic '\.avi$' \"$LOGFILE\") mp4=\$(grep -ic '\.mp4$' "$LOGFILE")
mov=\$(grep -ic '\.mov$' \"$LOGFILE\") mkv=\$(grep -ic '\.mkv$' "$LOGFILE")
avi=\$(grep -ic '\.avi$' "$LOGFILE")
mov=\$(grep -ic '\.mov$' "$LOGFILE")
video_total=\$((mp4 + mkv + avi + mov)) 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 :' echo "🎬 Vidéo :"
printf ' mp4 : %d\n' \$mp4 printf " mp4 : %d\n" \$mp4
printf ' mkv : %d\n' \$mkv printf " mkv : %d\n" \$mkv
printf ' avi : %d\n' \$avi printf " avi : %d\n" \$avi
printf ' mov : %d\n' \$mov printf " mov : %d\n" \$mov
echo \" ➤ Total vidéo : \$video_total\" echo " ➤ Total vidéo : \$video_total"
echo " 📄 Dernier fichier vidéo : \$last_video"
# Audios # Audio
mp3=\$(grep -ic '\.mp3$' \"$LOGFILE\") mp3=\$(grep -ic '\.mp3$' "$LOGFILE")
flac=\$(grep -ic '\.flac$' \"$LOGFILE\") flac=\$(grep -ic '\.flac$' "$LOGFILE")
wav=\$(grep -ic '\.wav$' \"$LOGFILE\") wav=\$(grep -ic '\.wav$' "$LOGFILE")
ogg=\$(grep -ic '\.ogg$' \"$LOGFILE\") ogg=\$(grep -ic '\.ogg$' "$LOGFILE")
audio_total=\$((mp3 + flac + wav + ogg)) 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 ""
echo '🎵 Audio :' echo "🎵 Audio :"
printf ' mp3 : %d\n' \$mp3 printf " mp3 : %d\n" \$mp3
printf ' flac : %d\n' \$flac printf " flac : %d\n" \$flac
printf ' wav : %d\n' \$wav printf " wav : %d\n" \$wav
printf ' ogg : %d\n' \$ogg printf " ogg : %d\n" \$ogg
echo \" ➤ Total audio : \$audio_total\" echo " ➤ Total audio : \$audio_total"
" echo " 📄 Dernier fichier audio : \$last_audio"
EOF
chmod +x "$TMP_SCRIPT"
watch -n 1 "$TMP_SCRIPT"
} }
# Lancer l'explorateur depuis le dossier courant # Lancer depuis la racine
explorer "/" explorer "/"