Lectura de un archivo línea por línea (con espacio) en la secuencia de comandos de Unix Shell - Problema
Quiero leer un archivo línea por línea en Unix shell scripting. La línea puede contener espacios iniciales y finales y quiero leer esos espacios también en la línea. He intentado con "mientras que la línea de lectura", pero leer comando es la eliminación de los caracteres de espacio de la línea :( Ejemplo si la línea en el archivo son:-
abcd efghijk
abcdefg hijk
la línea debería leerse como:-
1) "abcd efghijk" 2) "abcdefg hijk"
Lo que he probado es esto (que no funcionó):-
while read line
do
echo $line
done < file.txt
Quiero que la línea incluyendo espacio y caracteres de tabulación en ella. Por favor, sugiera una manera.
18
2
Prueba esto,
EDIT:
De
man bash
Es conveniente leer las líneas raw para evitar problemas con las barras invertidas en la entrada (utilice
-r
):Esto mantendrá los espacios en blanco dentro de la línea, pero elimina los espacios en blanco iniciales y finales. Para mantenerlos también, ponga el IFS vacío, como en
Esto es equivalente a
cat < archivo.txt
siempre quearchivo.txt
termine con una nueva línea.Tenga en cuenta que debe entrecomillar doblemente `"$línea"para evitar que el desdoblamiento de palabras divida la línea en palabras separadas, perdiendo así múltiples secuencias de espacios en blanco.