back
#visualizza video youtube tramite mplayer e youtube-dl
#sia in una console con framebuffer che in un Xserver
#es: mtube http://www.youtube.com/watch?v=xxxxxxx
mtube() {
if [ -z $DISPLAY ]; then
     mplayer -really-quiet -cache 1111 -vo fbdev -vf scale=1280:1024 \
       $(youtube-dl -bg "$1")
  else
    mplayer -really-quiet -cache 1111 $(youtube-dl -bg "$1")
fi
}

Restando in tema multimediale è possibile anche preparare alias per la conversione di formati

#flac2mp3
for maggio in *.flac; do $(flac -scd "$maggio" | \
  lame -Sb 160 - mp3/"${maggio%.flac}.mp3"); done
#flac2ogg
for maggio in *.flac; do $(flac -scd "$maggio" | \
  oggenc -Qo ogg/"${maggio%.flac}.ogg" -b 160 -); done
#wav2mp3
for maggio in *.wav; do $(lame -Sb 160 "$maggio" \
  mp3/"${maggio%.wav}.mp3"); done
#ogg2ogg (riduce il bitrate)
for maggio in *.ogg; do $(oggdec -Qo - "$maggio" | \
  oggenc -Qo ogg/"$maggio" -b 64 -); done
mentre per funzioni di grande importanza quali il backup di dati o la gestione di archivi è possibile impostare alcune funzioni un po' più complesse come
#crea archivi (tar.bz2/tar.gz/tgz/zip) di file e/o directory
### archive wrapper ###
archive() {
  if [ "$1" = "" ]; then
   echo -e "\033[32mcreates an archive"
   echo -e "\033[32musage: archive <foo.tar.bz2> /foo /bar baz/"
  else
local DATE=$(date +%d-%m-%y)
local NAME=$DATE-$1
  case $NAME in
   *.tar.bz2) shift && tar cPpjf $NAME $* ;;
   *.tar.gz) shift && tar cPpzf $NAME $* ;;
   *.tgz) shift && tar czf $NAME $* ;;
   *.zip) shift && zip $NAME $* ;;
  esac
fi
}
#crea un tar.bz2 di una directory
#o file preservandone il nome (per quanto possibile :)
jmkbz2() {
local DATE=$(date +%d-%m-%y)
local NAME=$(basename $@)
 tar cPpjf $NAME-$DATE.tar.bz2 "$@"
}
back