Hvordan for å lese filen linje for linje i Bash-script

0 Comments

Hvordan vil du skrive et Bash-script som kan behandle en tekst-fil med én linje om gangen. Først trenger du en syntaks og tilnærming for å lese filen linje for linje. Metodene for denne tilnærmingen er vist i denne opplæringen.

la oss Anta at du har en fil som heter selskapet.txt som innholdet selskapet navn. Denne filen inneholder følgende innhold.

Selskapet.,txt
Samsung
Nokia
LG
Symphony
iphone

Eksempel -1: å Lese innhold i filer fra kommandolinjen

la oss Anta at du ønsker å lese filen, selskapet.txt, linje for linje fra kommandolinjen uten ‘katt’ – kommandoen. Kjør følgende kommando for å gjøre oppgaven. mens loop vil lese hver linje fra filen selskapet.txt-i hvert trinn, og lagre innholdet av linjen i $linje variabel som vil bli skrevet ut senere.

$ mens lese linje; do echo $linje; gjort < selskapet.,txt

Eksempel -2: å Lese filen du innhold ved hjelp av script

Lag et bash-filen, og legg til følgende kode for å lese innholdet i en bestemt fil. Her, i en eksisterende filnavn er lagret i $filename variabel og $n variable er brukt for å holde verdien av linje nummer av filen. Som forrige eksempel, mens loop er brukt til å lese filen med linjenummer.

#!/bin/bash
filnavn=»selskapet.txt»
n=1
mens les linje, må du
# lese hver linje
echo «Linje No., $n : $line»
n=$((n+1))
ferdig < $filnavn

Kjør følgende kommando for å kjøre skriptet.

$ bash readfile1.sh

Kjør ‘katt’ – kommandoen med selskapet.txt-fil for å vise det opprinnelige innholdet av selskapet.txt-fil.

$ cat selskapet.txt

Eksempel -3: Bestått filnavn fra kommando-linjen og lese filen

Lag et bash-filen, og legg til følgende skript., Dette skriptet vil ta filnavn fra kommando-linjen-argumentet. Første argument verdien leses av variabelen $1 som inneholder filnavnet for å lese. Hvis filen eksisterer i den gjeldende posisjonen deretter mens loop vil lese filen linje som forrige eksempel og skrive ut filen innhold.

#!/bin/bash
filnavn=$1
mens les linje, må du
# lese hver linje
echo $linje
ferdig < $filnavn

Kjør skriptet ovenfor med ansatte.txt-fil som argument verdi. Produksjonen vil vise innholdet av ansatte.,txt-fil ved å fjerne ekstra plass. Du kan vise den opprinnelige innhold av ansatte.txt-fil ved hjelp av ‘katt’ – kommandoen.

$ bash readfile2.txt ansatt.txt
$ cat ansatt.txt

Eksempel – 4: Lese-filen ved å utelate omvendt skråstrek flykte

Hvis du ønsker å lese hver linje på en fil ved å utelate omvendt skråstrek flykte så må du bruke ‘-r’ alternativet med lese-kommandoen i mens loop.

#!,/bin/bash
mens lese -r-linje, må du
# Lese hver linje
echo $linje
ferdig < company2.txt

Lag en fil som heter company2.txt med skråstrek foran og kjør følgende kommando for å kjøre skriptet. Produksjonen vil vise innhold i filer uten noen skråstrek.

$ bash readfile3.sh

vil Du få behov for å lese filen for mange programmering formål. For eksempel, kan du søke på, eller samsvarer med et bestemt innhold enkelt fra en hvilken som helst fil ved å lese hver linje separat., Så, det er en viktig oppgave for programmering. Noen enkle eksempler for å lese filen i bash-script er vist i denne opplæringen. Disse vil hjelpe deg til å få ideen til å lese innhold i filer linje for linje ved hjelp mens loop i bash-skript og gjelder i skriptet på en mer effektiv måte. For mer informasjon se videoen!


Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *