Anta at du har en fil som heter selskap.tekst Hvilket innhold selskapet navngir. Denne filen inneholder følgende innhold.
Selskap.tekst
Samsung
Nokia
LG
Symfoni
iPhone
Eksempel -1: Lese filinnhold fra kommandolinje
Anta at du vil lese filen, selskap.tekst, linje for linje fra kommandolinjen uten 'katt' kommando. Kjør følgende kommando for å gjøre oppgaven. samtidig som Loop vil lese hver linje fra filen selskap.tekst i hvert trinn og lagre innholdet på linjen i $ linje variabel som vil bli skrevet ut senere.
$ mens du er lest linje; gjør ekko $ linje; Ferdig < company.txt
Eksempel -2: Lese filinnhold ved hjelp av skript
Opprett en bash -fil og legg til følgende kode for å lese innholdet i en bestemt fil. Her lagres et eksisterende filnavn $ filnavn variabel og $ n Variabel brukes til å holde verdien på linjenummeret til filen. Som forrige eksempel, samtidig som Loop brukes til å lese denne filen med linjenummer.
#!/bin/bash
filnavn = 'Company.tekst'
n = 1
mens du leser linjen; gjøre
# Lesing av hver linje
ekko "linje nei. $ n: $ linje "
n = $ ((n+1))
Ferdig < $filename
Kjør følgende kommando for å utføre skriptet.
$ bash readfile1.sh
Løpe 'katt' kommando med selskap.tekst fil for å vise det originale innholdet i selskap.tekst fil.
$ katteselskap.tekstEksempel -3: Passerende filnavn fra kommandolinjen og leser filen
Lag en bash -fil og legg til følgende skript. Dette skriptet vil ta filnavnet fra kommandolinjeargumentet. Første argumentverdi blir lest av variabelen $ 1 som vil inneholde filnavnet for lesing. Hvis filen eksisterer på det nåværende stedet da samtidig som Loop vil lese fillinjen for linje som forrige eksempel og skrive ut filinnholdet.
#!/bin/bash
filnavn = $ 1
mens du leser linjen; gjøre
# Lesing av hver linje
ekko $ linje
Ferdig < $filename
Kjør skriptet ovenfor med ansatt.tekst fil som argumentverdi. Utgangen vil vise innholdet i ansatt.tekst fil ved å fjerne ekstra plass. Du kan vise det originale innholdet i ansatt.tekst fil ved å bruke 'katt' kommando.
$ bash readfile2.txt ansatt.tekstEksempel - 4: Lesefil ved å utelate backslash -flukt
Hvis du vil lese hver linje i en fil ved å utelate backslash -flukt, må du bruke '-r' Alternativ med lese -kommando i samtidig som Løkke.
#!/bin/bash
Mens du er lest -r linje; gjøre
# Lesing av hver linje
ekko $ linje
Ferdig < company2.txt
Lag en fil som heter Company2.tekst med tilbakeslag og kjør følgende kommando for å utføre skriptet. Utgangen vil vise filinnholdet uten noe tilbakeslag.
$ bash readfile3.sh
Du må lese filen for mange programmeringsformål. Du kan for eksempel søke eller matche et bestemt innhold enkelt fra hvilken som helst fil ved å lese hver linje separat. Så det er en essensiell oppgave for all programmering. Noen enkle eksempler på lesefil i bash -skriptet vises i denne opplæringen. Disse vil hjelpe deg å få ideen om å lese filinnholdslinje for linje ved hjelp av mens du er sløyfe i bash -skriptet og brukes i skriptet ditt mer effektivt. For mer informasjon, se videoen!