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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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