Foros del Web » Administración de Sistemas » Unix / Linux »

Problema de novato con nombres con espacios

Estas en el tema de Problema de novato con nombres con espacios en el foro de Unix / Linux en Foros del Web. Hola, me he creado una script para automatizar abrir mil ficheros a mano. El código funciona....el problema es que sólo funciona si los directorios no ...
  #1 (permalink)  
Antiguo 08/05/2018, 13:26
 
Fecha de Ingreso: enero-2009
Mensajes: 209
Antigüedad: 15 años, 2 meses
Puntos: 0
Problema de novato con nombres con espacios

Hola,

me he creado una script para automatizar abrir mil ficheros a mano.

El código funciona....el problema es que sólo funciona si los directorios no tienen espacios en el nombre, y si los ficheros tampoco lo tienen.

Es decir, si tengo "directorio uno" el primer for ya me falla, puesto que me metería en $actual primero a "directorio" y luego a "uno".

A ver si alguien me puede orientar un poco,

gracias de antemano.

bueno, edito para decir que al final la solución era bien fácil, al principio del bash cambio el valor de IFS (que es el que indica el caracter separador por defecto) y asunto arreglado.

Última edición por elijo_otro; 10/05/2018 a las 13:36
  #2 (permalink)  
Antiguo 14/05/2018, 09:35
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 8 meses
Puntos: 401
Respuesta: Problema de novato con nombres con espacios

Existen otras soluciones... y aunque no pones el código lo puedo suponer.
Observa...
Código BASH:
Ver original
  1. for i in "$d"/*/
Las comillas evitan la división de palabras.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-

Etiquetas: automatizar, espacios, nombres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:45.