seleccion de archivos de manera aleatoria en bash???
Roberto Bonvallet
rbonvall en alumnos.inf.utfsm.cl
Mar Dic 13 00:29:08 CLST 2005
Pablo Salinas Rivera escribio:
[...]
> tengo archivos con mp3 (minusculas) y MP3 (mayusculas), hay archivos con
> espacios en el nombre, y hay un archivo "no-mp3" (portada.jpg).
Aprovecho de pasar el dato para renombrar todos los archivos con
mayusculas a minusculas:
for song in *.MP3; do
mv "$song" "${song/MP3/mp3}"
done
[...]
> ocupamos el asterisco como delimitador, ya que no se puede ocupar en
> nombres de archivos..
Si se puede!
> $ find . -type f | grep "\.[mM][pP]3$" | sed -e 's/.*/"&"/' | \
> awk 'BEGIN{ORS="*"}{print}END{print NR}'
find, awk y sed son lo suficientemente poderosos para no necesitar grep
(y para no necesitarse mutuamente). Lo mismo puede ser escrito como:
find . -iname '*.mp3' | awk 'BEGIN {s=""} {s = s "\"" $0 "\"*" } END {print s NR}'
Con sed casi me sale :(
find . -iname '*.mp3' | sed -ne 's/.*/"&"*/; H; ${x; s/\n//g; p; =}'
Y si no fuera por tener que escribir el numero de archivos al final, se
podria hacer con puro find:
find . -iname '*.mp3' -exec echo -n '"{}"*' \;
Saludos!
--
Roberto Bonvallet
Más información sobre la lista de distribución Linux