Kuidas lugeda faili rida -realt Bashi skriptis

How Read File Line Line Bash Script

Kuidas kirjutaksite Bash -skripti, mis suudab tekstifaili töödelda rida korraga. Esiteks vajate faili rida -realt lugemiseks süntaksit ja lähenemist. Selle lähenemisviisi meetodid on näidatud selles õpetuses.

Oletame, et teil on fail nimega company.txt mis sisu ettevõtted nimetavad. See fail sisaldab järgmist sisu.



Company.txt
Samsung
Nokia
LG
Sümfoonia
iphone

Näide -1: Faili sisu lugemine käsurealt

Oletame, et soovite faili lugeda, company.txt , rida rida käsurealt ilma 'Kass' käsk. Ülesande täitmiseks käivitage järgmine käsk. samas loop loeb failist välja iga rea company.txt igal sammul ja salvestage rea sisu $ rida muutuja, mis trükitakse hiljem.



$samas loerida;teha viskas välja $ rida;tehtud <company.txt



Näide -2: Faili sisu lugemine skripti abil

Looge bash -fail ja lisage konkreetse faili sisu lugemiseks järgmine kood. Siin salvestatakse olemasolev failinimi $ failinimi muutuja ja $ n muutujat kasutatakse selle faili reanumbri väärtuse hoidmiseks. Nagu eelmine näide, samas tsüklit kasutatakse selle faili lugemiseks reanumbriga.

#!/bin/bash
faili nimi='company.txt'
n=1
samas loerida;teha
# iga rea ​​lugemine
viskas välja 'Liin nr.$ n:$ rida'
n= $((n+1))
tehtud < $ failinimi

Skripti käivitamiseks käivitage järgmine käsk.

$löömareadfile1.sh

Jookse 'Kass' käsu abil company.txt faili, et kuvada selle algne sisu company.txt faili.



$ kass company.txt

Näide -3: failinime edastamine käsurealt ja faili lugemine

Looge bash -fail ja lisage järgmine skript. See skript võtab failinime käsurealt. Esimese argumendi väärtuse loeb muutuja $ 1, mis sisaldab lugemiseks failinime. Kui fail on praeguses asukohas olemas, siis samas loop loeb faili rida -realt nagu eelmine näide ja prindib faili sisu.

#!/bin/bash
faili nimi=$ 1
samas loerida;teha
# iga rea ​​lugemine
viskas välja $ rida
tehtud < $ failinimi

Käivitage ülaltoodud skript töötaja.txt fail argumendi väärtusena. Väljund näitab sisu töötaja.txt faili, eemaldades lisaruumi. Saate näidata saidi algupärast sisu töötaja.txt faili kasutades 'Kass' käsk.

$ bash readfile2.txt töötaja.txt
$ kass töötaja.txt

Näide - 4: faili lugemine, jättes välja kaldkriipsu

Kui soovite lugeda faili iga rida, jättes kaldkriipsu tühjendamata, peate kasutama '-R' valik koos lugemiskäsuga samas silmus.

#!/bin/bash
samas loe -rrida;teha
# Iga rea ​​lugemine
viskas välja $ rida
tehtud <ettevõte2.txt

Looge fail nimega ettevõte2.txt kaldkriipsuga ja käivitage skripti käivitamiseks järgmine käsk. Väljund näitab faili sisu ilma tagasilöögita.

$löömareadfile3.sh

Faili peate lugema paljudel programmeerimise eesmärkidel. Näiteks saate otsida või sobitada mis tahes sisu hõlpsalt mis tahes failist, lugedes igat rida eraldi. Seega on see iga programmeerimise jaoks oluline ülesanne. Selles õpetuses on toodud mõned lihtsad näited faili lugemiseks bash -skriptis. Need aitavad teil saada ettekujutuse faili sisu rida -realt lugemisest, kasutades bash -skripti loop loop ja rakendades seda oma skriptis tõhusamalt. Lisateabe saamiseks vaadake video !