Manipular ficheros con nombres con espacios en blanco

Si queremos manipular ficheros cuyos nombres contienen espacios en blanco debemos combinar los comandos find, while y read, por ejemplos si queremos tener una lista de todos los ficheros ogg que tenemos en nuestra carpeta de música bastaría con teclear:

$ find musica -name '*.ogg' -type f -print0 | while read -d $'' file; do 
echo $(basename "$file") >> lista.txt
done

Nótese las opciones -print0 y -d $'' de los comandos find y read respectivamente.

Lecturas recomendadas

  • - man find
  • - comando read
  • - Carl Albing, JP Bossen, Cameron Newham. bash Cookbook. Acápite 6.10, Looping for a While
  • - man basename
Los tutoriales aquí en LibreByte están disponible bajo una licencia de software libre. Si le gusta mi trabajo considere:
Comprar un Hosting/VPS o Servidor Dedicado en MCKHost

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.