[gull] truc et astuce: Mélanger des noms de fichiers (bash)

Félix Hauri felix at f-hauri.ch
Mon Sep 1 12:10:03 CEST 2003


Un filtre qui mélange ligne par ligne stdin vers stdout:
(Exemple pour écouter des mp3... Les noms de fichiers peuvent contenir des
espaces ou des guillemets ;)

$ find /data/mp3 -type f -ipath "*elvis*presley*"  |\
  (
   IFS=$'\n';
   sorted=($(cat));
   while [ ${#sorted[*]} -gt 0 ]; do
       num=$(($RANDOM%${#sorted[*]}));
       echo "${sorted[$num]}";
       unset sorted[$num];
       sorted=(${sorted[*]});
       done
   ) |\
   mpg123 -@ -

Pour ceux qui voudraient m'informer que je pouvais taper:
$ mpg123 -Z /data/mp3/Elvis\ Presley\ */*

Merci, je savais! ;-)

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch




More information about the gull mailing list