A veces intentamos usar un bucle for en bash para recorrer un listado de ficheros, pero si los nombres de los ficheros contienen espacios, se separa el nombre en dos o más trozos, provocando errores. Para evitarlo hay que definir con la variable IFS que caracteres se deben utilizar como delimitadores, ya que por defecto incluye además del salto de linea y retorno de carro, el espacio y el tabulado.
Un ejemplo de como emplearlo:
#!/bin/shIFS=$'\x0A'$'\x0D'for fichero in $(ls *)
do/usr/bin/HAZALGO $ficherodoneVisto
aquí y
aquí.
1 comentario:
Muchas gracias, soy muy novato en bash/unix y llevaba un buen rato intentando hacer esto.
Publicar un comentario