Sådan læses fil linje for linje i Bash -script

How Read File Line Line Bash Script



Hvordan ville du skrive et Bash -script, der kan behandle en tekstfil en linje ad gangen. Først skal du bruge en syntaks og tilgang til at læse filen linje for linje. Metoderne til denne tilgang er vist i denne vejledning.

Antag, at du har en fil med navnet company.txt hvilket indhold firmanavne. Denne fil indeholder følgende indhold.







Company.txt
Samsung
Nokia
LG
Symfoni
iphone

Eksempel -1: Læsning af filindhold fra kommandolinjen

Antag, at du vil læse filen, company.txt , linje for linje fra kommandolinjen uden 'kat' kommando. Kør følgende kommando for at udføre opgaven. mens loop vil læse hver linje fra filen company.txt i hvert trin og gem indholdet af linjen i $ linje variabel, der udskrives senere.



$mens Læslinje;gøre smed ud $ linje;Færdig <company.txt



Eksempel -2: Læsning af filindhold ved hjælp af script

Opret en bash -fil, og tilføj følgende kode for at læse indholdet i en bestemt fil. Her gemmes et eksisterende filnavn i $ filnavn variabel og $ n variabel bruges til at beholde værdien af ​​filnummerets linjenummer. Som tidligere eksempel, mens loop bruges til at læse denne fil med linjenummer.





#!/bin/bash
filnavn='company.txt'
n=1
mens Læslinje;gøre
# læser hver linje
smed ud 'Linjenr.$ n:$ linje'
n= $((n+1))
Færdig < $ filnavn

Kør følgende kommando for at udføre scriptet.

$bashreadfile1.sh

Løb 'kat' kommando med company.txt fil for at vise det originale indhold af company.txt fil.



$ cat company.txt

Eksempel -3: Videregivelse af filnavn fra kommandolinjen og læsning af filen

Opret en bash -fil, og tilføj følgende script. Dette script vil tage filnavnet fra kommandolinjeargumentet. Første argumentværdi læses af variablen $ 1, som vil indeholde filnavnet til læsning. Hvis filen findes på den aktuelle placering mens loop vil læse filen linje for linje som tidligere eksempel og udskrive filindholdet.

#!/bin/bash
filnavn=$ 1
mens Læslinje;gøre
# læser hver linje
smed ud $ linje
Færdig < $ filnavn

Kør ovenstående script med medarbejder.txt fil som argumentværdi. Outputtet viser indholdet af medarbejder.txt fil ved at fjerne ekstra plads. Du kan vise det originale indhold af medarbejder.txt fil ved hjælp af 'kat' kommando.

$ bash readfile2.txt medarbejder.txt
$ kat medarbejder.txt

Eksempel - 4: Læsning af fil ved at udelade tilbageskridt -flugt

Hvis du vil læse hver linje i en fil ved at udelade tilbageslag, skal du bruge '-R' mulighed med læsekommando i mens sløjfe.

#!/bin/bash
mens Læs -rlinje;gøre
# Læser hver linje
smed ud $ linje
Færdig <virksomhed2.txt

Opret en fil med navnet virksomhed2.txt med omvendt skråstreg og kør følgende kommando for at udføre scriptet. Outputtet viser filens indhold uden omvendt skråstreg.

$bashreadfile3.sh

Du skal læse filen til mange programmeringsformål. For eksempel kan du let søge efter eller matche et bestemt indhold fra enhver fil ved at læse hver linje separat. Så det er en vigtig opgave for enhver programmering. Nogle enkle eksempler på læsning af filer i bash -script er vist i denne vejledning. Disse hjælper dig med at få ideen om at læse filindhold linje for linje ved hjælp af loop i bash script og anvende i dit script mere effektivt. For mere information se videoen !