Kako čitati datoteku redak po redak u Bash skripti

How Read File Line Line Bash Script



Kako biste napisali Bash skriptu koja može obraditi tekstualnu datoteku jedan po jedan red. Prvo vam je potrebna sintaksa i pristup za čitanje datoteke redak po redak. Metode za ovaj pristup prikazane su u ovom vodiču.

Pretpostavimo da imate datoteku pod nazivom company.txt koji sadrži nazive tvrtki. Ova datoteka sadrži sljedeći sadržaj.







Company.txt
Samsung
Nokia
LG
Simfonija
iphone

Primjer -1: Čitanje sadržaja datoteke iz naredbenog retka

Pretpostavimo da želite pročitati datoteku, company.txt , redak po redak iz naredbenog retka bez 'mačka' naredba. Pokrenite sljedeću naredbu da biste izvršili zadatak. dok loop će čitati svaki redak iz datoteke company.txt u svakom koraku i pohranite sadržaj retka u linija $ varijabla koja će biti tiskana kasnije.



$dok čitaticrta;čini izbaciti linija $;učinjeno <company.txt



Primjer -2: Čitanje sadržaja datoteke pomoću skripte

Napravite bash datoteku i dodajte sljedeći kôd za čitanje sadržaja određene datoteke. Ovdje je postojeći naziv datoteke pohranjen u $ naziv datoteke promjenjiva i $ n Varijabla se koristi za zadržavanje vrijednosti broja retka te datoteke. Kao i prethodni primjer, dok loop se koristi za čitanje ove datoteke s brojem retka.





#!/bin/bash
naziv datoteke='company.txt'
n=1
dok čitaticrta;čini
# čitanje svakog retka
izbaciti 'Redak br.$ n:linija $'
n= $((n+1))
učinjeno < $ naziv datoteke

Pokrenite sljedeću naredbu za izvršavanje skripte.

$bashreadfile1.sh

Trčanje 'mačka' zapovijedati s company.txt datoteku za prikaz izvornog sadržaja company.txt datoteka.



$ cat company.txt

Primjer -3: Prosljeđivanje naziva datoteke iz naredbenog retka i čitanje datoteke

Napravite bash datoteku i dodajte sljedeću skriptu. Ova skripta će uzeti naziv datoteke iz argumenta naredbenog retka. Vrijednost prvog argumenta čita varijabla $ 1 koja će sadržavati naziv datoteke za čitanje. Ako datoteka postoji na trenutnom mjestu, tada dok loop će čitati datoteku redak po redak kao u prethodnom primjeru i ispisivati ​​sadržaj datoteke.

#!/bin/bash
naziv datoteke=1 USD
dok čitaticrta;čini
# čitanje svakog retka
izbaciti linija $
učinjeno < $ naziv datoteke

Pokrenite gornju skriptu s zaposlenik.txt datoteka kao vrijednost argumenta. Izlaz će pokazati sadržaj datoteke zaposlenik.txt datoteku uklanjanjem dodatnog prostora. Možete prikazati izvorni sadržaj zaposlenik.txt datoteku pomoću 'mačka' naredba.

$ bash readfile2.txt zaposleni.txt
$ cat zaposlenik.txt

Primjer - 4: Čitanje datoteke izostavljanjem bjekstva od obrnute kose crte

Ako želite pročitati svaki redak datoteke izostavljanjem povratne kose crte, tada morate koristiti '-R' opcija s naredbom za čitanje dok petlja.

#!/bin/bash
dok čitati -rcrta;čini
# Čitanje svakog retka
izbaciti linija $
učinjeno <tvrtka2.txt

Napravite datoteku pod nazivom tvrtka2.txt s kosom crtom i pokrenite sljedeću naredbu za izvršavanje skripte. Izlaz će prikazati sadržaj datoteke bez obrnute kose crte.

$bashreadfile3.sh

Datoteku ćete morati čitati u mnoge svrhe programiranja. Na primjer, možete jednostavno pretraživati ​​ili uspoređivati ​​bilo koji određeni sadržaj iz bilo koje datoteke čitajući svaki redak zasebno. Dakle, to je bitan zadatak za svako programiranje. Neki jednostavni primjeri čitanja datoteke u bash skripti prikazani su u ovom vodiču. To će vam pomoći da steknete ideju o čitanju sadržaja datoteke redak po redak koristeći while petlju u bash skripti i učinkovitiju primjenu u vašoj skripti. Za više informacija pogledajte video !