Cómo leer archivo línea por línea en script bash

Cómo leer archivo línea por línea en script bash
¿Cómo escribirías un script bash que pueda procesar un archivo de texto una línea a la vez?. Primero necesita una sintaxis y un enfoque para leer el archivo Line by Line. Los métodos para este enfoque se muestran en este tutorial.

Supongamos que tiene un archivo nombrado compañía.TXT que contiene nombres de la empresa. Este archivo contiene el siguiente contenido.

Compañía.TXT
Samsung
Nokia
Lg
Sinfonía
iPhone

Ejemplo -1: Leer contenido del archivo desde la línea de comandos

Supongamos que desea leer el archivo, compañía.TXT, línea por línea desde la línea de comando sin 'gato' dominio. Ejecute el siguiente comando para hacer la tarea. mientras el bucle leerá cada línea desde el archivo compañía.TXT en cada paso y almacene el contenido de la línea en $ Línea variable que se imprimirá más tarde.

$ mientras lea línea; hacer echo $ line; hecho < company.txt

Ejemplo -2: Leer contenido de archivo usando script

Cree un archivo bash y agregue el siguiente código para leer el contenido de un archivo en particular. Aquí, un nombre de archivo existente se almacena en $ nombre de archivo variable y $ N La variable se utiliza para mantener el valor del número de línea de ese archivo. Como ejemplo anterior, mientras El bucle se usa para leer este archivo con el número de línea.

#!/bin/bash
FileName = 'Company.TXT'
n = 1
Mientras lea la línea; hacer
# Leer cada línea
echo "línea no. $ N: $ línea "
n = $ ((n+1))
hecho < $filename

Ejecute el siguiente comando para ejecutar el script.

$ bash readfile1.mierda

Correr 'gato' ordenar con compañía.TXT archivo para mostrar el contenido original de compañía.TXT archivo.

$ Cat Company.TXT

Ejemplo -3: pasar el nombre de archivo desde la línea de comando y leer el archivo

Crear un archivo bash y agregar el siguiente script. Este script tomará el nombre de archivo del argumento de la línea de comando. El primer valor del argumento es leído por la variable $ 1 que contendrá el nombre de archivo para leer. Si el archivo existe en la ubicación actual, entonces mientras el bucle leerá el archivo línea por línea como ejemplo anterior e imprima el contenido del archivo.

#!/bin/bash
nombre de archivo = $ 1
Mientras lea la línea; hacer
# Leer cada línea
echo $ line
hecho < $filename

Ejecute el script anterior con empleado.TXT Archivo como valor de argumento. La salida mostrará el contenido de empleado.TXT Archivo eliminando espacio adicional. Puedes mostrar el contenido original de empleado.TXT archivo usando 'gato' dominio.

$ bash readfile2.empleado txt.TXT
$ Cat Employee.TXT

Ejemplo - 4: Lectura de archivo omitiendo escape de barrava

Si desea leer cada línea de un archivo omitiendo Backslash Escape, entonces debe usar '-r' Opción con comando Read en mientras bucle.

#!/bin/bash
mientras lea -r línea; hacer
# Leer cada línea
echo $ line
hecho < company2.txt

Crea un archivo llamado Compañía2.TXT con Backshash y ejecute el siguiente comando para ejecutar el script. La salida mostrará el contenido del archivo sin ninguna barra inalcadora.

$ bash readfile3.mierda

Deberá leer el archivo para muchos fines de programación. Por ejemplo, puede buscar o hacer coincidir cualquier contenido en particular fácilmente desde cualquier archivo leyendo cada línea por separado. Entonces, es una tarea esencial para cualquier programación. Algunos ejemplos simples de archivo de lectura en script bash se muestran en este tutorial. Estos lo ayudarán a obtener la idea de leer el contenido del archivo Línea por línea usando While Loop en Bash Script y aplicar en su script de manera más eficiente. Para más información, mira el video!