Com es pot llegir el fitxer línia per línia a l’escriptura de Bash

How Read File Line Line Bash Script



Com escriuríeu un script Bash que pugui processar un fitxer de text d'una línia a la vegada. Primer necessiteu una sintaxi i un enfocament per llegir el fitxer línia per línia. Els mètodes per a aquest enfocament es mostren en aquest tutorial.

Suposem que teniu un fitxer anomenat company.txt que conté els noms de l’empresa. Aquest fitxer conté el contingut següent.







Company.txt
Samsung
Nokia
LG
Simfonia
iphone

Exemple -1: lectura del contingut del fitxer des de la línia d'ordres

Suposem que voleu llegir el fitxer, company.txt , línia per línia des de la línia d'ordres sense 'gat' comandament. Executeu l'ordre següent per fer la tasca. mentre loop llegirà cada línia del fitxer company.txt a cada pas i emmagatzemar el contingut de la línia a $ línia variable que s’imprimirà més endavant.



$mentre llegirlínia;fer trobo $ línia;fet <company.txt



Exemple -2: lectura del contingut del fitxer mitjançant script

Creeu un fitxer bash i afegiu el codi següent per llegir el contingut d'un fitxer concret. Aquí s’emmagatzema un nom de fitxer existent a $ nom de fitxer variable i $ n La variable s'utilitza per mantenir el valor del número de línia d'aquest fitxer. Com en l'exemple anterior, mentre bucle s’utilitza per llegir aquest fitxer amb el número de línia.





#! / bin / bash
nom de l'arxiu='company.txt'
n=1
mentre llegirlínia;fer
# llegint cada línia
trobo 'Línia núm.$ n:$ línia'
n= $((n +1))
fet < $ nom de fitxer

Executeu l'ordre següent per executar l'script.

$bashreadfile1.sh

Correr 'gat' ordre amb company.txt per mostrar el contingut original de company.txt dossier.



$ cat company.txt

Exemple -3: passar el nom del fitxer des de la línia d’ordres i llegir el fitxer

Creeu un fitxer bash i afegiu el següent script. Aquest script prendrà el nom del fitxer de l'argument de la línia d'ordres. El valor del primer argument és llegit per la variable $ 1 que contindrà el nom del fitxer per llegir. Si el fitxer existeix a la ubicació actual, llavors mentre loop llegirà el fitxer línia per línia com en l'exemple anterior i imprimirà el contingut del fitxer.

#! / bin / bash
nom de l'arxiu=$ 1
mentre llegirlínia;fer
# llegint cada línia
trobo $ línia
fet < $ nom de fitxer

Executeu l'script anterior amb empleat.txt fitxer com a valor d'argument. La sortida mostrarà el contingut de empleat.txt fitxer eliminant espai addicional. Podeu mostrar el contingut original de empleat.txt arxiu mitjançant 'gat' comandament.

$ bash readfile2.txt empleat.txt
$ cat employee.txt

Exemple - 4: lectura del fitxer ometent la barra invertida d'escapament

Si voleu llegir cada línia d'un fitxer ometent la barra invertida escape, haureu d'utilitzar-la '-R' opció amb ordre de lectura a mentre bucle.

#! / bin / bash
mentre llegir -rlínia;fer
# Llegint cada línia
trobo $ línia
fet <company2.txt

Creeu un fitxer anomenat company2.txt amb barra invertida i executeu l'ordre següent per executar l'script. La sortida mostrarà el contingut del fitxer sense cap barra invertida.

$bashreadfile3.sh

Haureu de llegir el fitxer per a molts propòsits de programació. Per exemple, podeu cercar o relacionar fàcilment qualsevol contingut concret des de qualsevol fitxer llegint cada línia per separat. Per tant, és una tasca essencial per a qualsevol programació. Alguns exemples senzills de lectura de fitxers en script bash es mostren en aquest tutorial. Això us ajudarà a tenir la idea de llegir el contingut del fitxer línia per línia fent servir el bucle while en un script bash i aplicar-lo al vostre script de manera més eficient. Per obtenir més informació, vegeu el vídeo !