La lectura de archivo línea por línea en Bash expande caracteres especiales

StackOverflow https://stackoverflow.com/questions/1888796

  •  19-09-2019
  •  | 
  •  

Pregunta

Estoy analizar algunos archivos .html en Bash. He leído la entrada con:

while read line 
do
   echo $line
   ...do something...
done < $file

Ahora he expierenced algo real extraño. Algunas líneas en los archivos contienen algo así como

Resolution…: 720 * 576

Pero fiesta me da esto:

Resolution…: 720 mysript.sh another_script.pl 576

Bash amplía la * char con el contenido del directorio actual. ¿Cómo puedo leer el texto línea por línea sin expandir.

¿Fue útil?

Solución

la expansión ocurre en echo, no en read, debe indicar su salida:

echo "$line"

Otros consejos

debe leer el archivo de este tipo, con la opción -r

while read -r line 
do
   echo "$line"
   #..do something...
done < "$file"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top