#!/bin/bash arch=$(find . -iname '*.mpg' -o -iname '*.mpeg' -o -iname '*.avi' \ -o -iname '*.wmv' -o -iname '*.asf' -o -iname '*.mov' -o -iname '*.flv' \ | tr ' ' '|') pos=0; cant=$(echo $arch | wc -w) archAct=""; yaVistosAzar=""; salir() { exit 0 } obtengoSiguiente() { pos=$(($pos + 1)) obtengoActual $arch } obtengoAnterior() { pos=$(($pos - 1)) obtengoActual $arch } obtengoActual() { shift $pos archAct="$(echo $1 | tr '|' ' ')" } obtengoAzar() { cantYaVistosAzar=$(echo $yaVistosAzar | wc -w) if [ "$cantYaVistosAzar" = "$cant" ]; then yaVistosAzar="" fi while true; do pos=$((RANDOM%cant)) if ! echo "$yaVistosAzar" | grep -q -F " $pos "; then break fi done yaVistosAzar="$yaVistosAzar $pos " obtengoActual $arch } obtengoActual $arch while true; do echo "Sig [s], Ant [a], Azar [r], Salir [q], $((pos+1))/$cant \"$archAct\"" read -t 7 -n 1 var || salir if [ "$var" = "s" ]; then obtengoSiguiente; fi if [ "$var" = "a" ]; then obtengoAnterior; fi if [ "$var" = "r" ]; then obtengoAzar; fi if [ "$var" = "q" ]; then salir; fi if [ "$var" != "s" -a "$var" != "a" -a "$var" != "r" ]; then mplayer $* -loop 0 "$archAct" obtengoSiguiente fi done