La lectura de archivo línea por línea en Bash expande caracteres especiales
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.
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