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

0 Comments

hvordan ville du skrive et Bash script, der kan behandle en tekstfil en linje ad gangen. Først har du brug for en syntaks og tilgang til at læse fillinjen for linjen. Metoderne til denne tilgang er vist i denne vejledning.Antag, at du har en fil med navnet firma.t whicht hvilket indhold firmaets navne. Denne fil indeholder følgende indhold.

selskab.,t .t
Samsung
Nokia
LG
Symphony
iPhone

eksempel -1: læsning af filindhold fra kommandolinjen

Antag, at du vil læse filen, virksomheden.t .t, linje for linje fra kommandolinjen uden ‘cat’ kommando. Kør følgende kommando for at udføre opgaven. Mens loop vil læse hver linje fra filfirmaet.t .t i hvert trin og gemme indholdet af linjen i $line variabel, som vil blive udskrevet senere.

$ mens du læser linje; gør echo $line; udført < firma.,txt

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

du Oprette et bash-fil, skal du tilføje følgende kode til at læse indholdet af en bestemt fil. Her gemmes et eksisterende filnavn i $ filnavn variabel og $n variabel bruges til at holde værdien af linjenummeret af den pågældende fil. Ligesom forrige eksempel, Mens loop bruges til at læse denne fil med linjenummer.

#!/bin / bash
filename=”selskab.t “t”
n=1
mens læse linje; gøre
# læsning hver linje
echo “Linje nr., $n: $line ”
n=$((n+1))
udført < $filnavn

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

$ bash readfile1.sh

Kør ‘cat’ kommando med selskab.t .t-fil for at vise det oprindelige indhold af virksomheden.t filet-fil.

$ cat company.t .t

eksempel -3: passerer filnavn fra kommandolinjen og læse filen

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

#!/bin/bash
filename=$1
mens du læse linje; do
# læse hver linje
echo $linje
færdig < $filename

Kør ovenstående script med medarbejderen.t .t-fil som argumentværdi. Udgangen vil vise indholdet af medarbejderen.,t .t-fil ved at fjerne ekstra plads. Du kan vise det oprindelige indhold af medarbejderen.t .t-fil ved hjælp af ‘cat’ kommando.

$ bash readfile2.t .t medarbejder.t .t
$ Kat medarbejder.txt

Eksempel 4: Læsning af fil ved at udelade backslash escape

Hvis du ønsker at læse hver linje i en fil ved at udelade backslash undslippe så er du nødt til at bruge ‘-r’ option med read kommandoen i while-løkken.

#!,/ bin/bash
mens du læser-r linje; gør
# læsning af hver linje
echo $linje
udført < company2.t Createt

Opret en fil med navnet company2.t .t med backslash og kør følgende kommando for at udføre scriptet. Udgangen vil vise filindholdet uden nogen backslash.

$ bash readfile3.sh

Du skal læse filen til mange programmeringsformål. For eksempel kan du nemt søge 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 fil i bash script er vist i denne tutorial. Disse vil hjælpe dig med at få ideen om at læse filindhold linje for linje ved hjælp af Mens loop i bash script og anvende i dit script mere effektivt. For mere information se videoen!


Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *