Bash mientras lee línea

Bash mientras lee línea
Cuando está trabajando en scripts bash, a veces es posible que deba leer un archivo línea por línea. Expliquemos con un ejemplo. Tiene algunos datos en un archivo de texto que debe ejecutarse o procesarse utilizando un script. Por lo tanto, ejecutar un script bash para procesar un archivo de texto es muy diferente. Debe seguir una sintaxis especificada para leer un archivo Line by Line. Este artículo lo ayudará a leer una línea de un archivo usando el bucle While en Bash.

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'

Cento
Ubuntu
Debian
LinuxMint
Mientras 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.