Sådan læses fil linje for linje i Bash script
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.
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.
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.
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.
Kør ‘cat’ kommando med selskab.t .t-fil for at vise det oprindelige indhold af virksomheden.t filet-fil.
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.
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.
$ 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.
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.
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!