Sintaxis básica de la línea de lectura
La siguiente sintaxis se usa para Bash Shell para leer un archivo usando While Loop:
mientras lea -r línea;
hacer
echo "$ line";
hecho < input.file
La opción '-r' en la sintaxis mencionada anteriormente pasada para leer el comando que evita que la barra inalcanzada escape de ser interpretada. La opción 'input_file' ha representado el nombre de su archivo al que desea acceder usando el comando 'Read'.
El separador de campo interno abreviado como IFS se puede usar antes de que el comando de lectura se establezca en la cadena nula que evita que se recorte el espacio en el blanco o posterior.
mientras que ifs = read -r línea;
hacer
echo $ line;
hecho < input.file
Abra la terminal usando 'Ctrl + Alt + T' atajo y luego ejecutar los siguientes comandos en él.
Ejemplo # 1: Lectura de archivo Línea por línea
Tomemos un ejemplo en el que supongamos que tenemos un archivo llamado 'OS.TXT' que contiene los nombres de todas las distribuciones importantes de Linux. Si desea leer un archivo sin usar el 'gato' Comando entonces, para este propósito, puede ejecutar el siguiente comando para realizar la tarea en particular. Usaremos el bucle while que leerá cada línea desde el archivo 'OS.TXT' y almacena el contenido en cada paso en una línea variable $ que puede mostrar más tarde.
Pegar los siguientes nombres de las distribuciones de Linux en el 'OS.TXT'
CentoMientras lea la línea;
hacer
echo $ line;
hecho < OS.txt
Desde el comando anterior, obtendrá la siguiente respuesta en la ventana del terminal:
Ejemplo # 2: Lectura de archivo usando el script bash
Cree un archivo bash y luego agregue el código mencionado a continuación en este archivo para leer el contenido del archivo. Puede almacenar el archivo de texto anterior en una nueva variable $ nombre de archivo y variable $ N se usa para mantener el valor de cada línea. Ahora, usando el bucle While, leeremos cada línea desde un archivo con un número de línea particular.
#!/bin/bash
FileName = 'OS.TXT'
n = 1
Mientras lea la línea;
hacer
# para leer cada línea
echo "línea de distribución del sistema operativo no. $ N: $ línea "
n = $ ((n+1))
hecho < $filename
Guarde el archivo con un nombre 'Osinfo.mierda y escriba el siguiente comando en el terminal para ejecutar el script bash anterior.
$ Bash Osinfo.mierda
Ahora, ejecute el comando CAT para ver el contenido del archivo original.
$ Cat OS.TXT
Método alternativo para la lectura de archivos
Usar el nombre del archivo de pasar desde un comando
En un archivo bash, debe agregar el siguiente script de código. En este script, tenemos que tomar un nombre de archivo como argumento. Primero, el valor de un argumento es leído por un $ 1 variable que tiene un nombre de archivo para leer. Verificará que el nombre de archivo exista en la ubicación especificada y luego usando el bucle while lee un archivo línea por línea similar al ejemplo anterior.
#!/bin/bash
nombre de archivo = $ 1
si [[ ! -f $ FileName]]; entonces
Error de echo ", debe ingresar un nombre de archivo como parámetro de línea de comandos"
salida
FI
Mientras lea la línea; hacer
# Leer cada línea
echo $ line
hecho < $filename
Guardar el script anterior con el nombre 'Readline.mierda y ejecute el siguiente comando en el terminal para ejecutar el script mencionado anteriormente:
$ Bash Readline.SH OS.TXT
Puede ver que el parámetro se usó como $ nombre de archivo, y leer línea por línea con el Mientras lea la línea Sintaxis desde el parámetro suministrado en la línea de comandos.
Conclusión
En este artículo, hemos discutido cómo leer líneas usando el bucle While en la programación de Bash. Hemos implementado diferentes métodos utilizando el script bash o simplemente puede usar un archivo de texto para realizar la lectura de una tarea de línea de línea por línea. Si está interesado en aprender más ejemplos, utilizando la sintaxis mencionada anteriormente, también puede ejecutar en su sistema. Espero que hayas disfrutado de este tutorial y lo sería único para ti. Conozcamos en caso de un error.