Loetud rea põhisüntaks
Järgmist süntaksit kasutatakse bash shelli jaoks faili lugemiseks loopi kasutades:
samas loe -rrida;
teha
viskas välja '$ rida';
tehtud <input.file
Eespool nimetatud süntaksi valik „-r” edastati lugemiskäsule, mis väldib tagasilöögi tõlgendamist. Valik „input_file” on näidanud teie faili nime, millele soovite käsu „lugemine” abil juurde pääseda.
Sisemist väljade eraldajat, lühendatult IFS -i, saab kasutada enne, kui lugemiskäsk on seatud nullstringile, mis takistab tühikute tühistamist kärpimisel.
samas IFS=loe -rrida;
teha
viskas välja $ rida;
tehtud <input.file
Avage terminal, kasutades kiirklahvi Ctrl + Alt + t ja käivitage sellel järgmised käsud.
Näide # 1: Faili lugemine rida -realt
Võtame näite, milles oletame, et meil on fail nimega OS.txt, mis sisaldab kõigi oluliste Linuxi distributsioonide nimesid. Kui soovite faili lugeda ilma käsku „kass” kasutamata, saate sel eesmärgil konkreetse ülesande täitmiseks täita järgmise käsu. Kasutame while -tsüklit, mis loeb failist OS.txt iga rea välja ja salvestab sisu igal sammul muutuvas $ reas, mida saate hiljem kuvada.
Kleepige järgmised Linuxi distributsioonide nimed faili OS.txt
CentOS
Ubuntu
Debian
LinuxMint $samas loerida;
teha
viskas välja $ rida;
tehtud <OS.txt
Ülaltoodud käsust saate terminaliaknas järgmise vastuse:
Näide # 2: faili lugemine bash -skripti abil
Looge bash-fail ja lisage faili sisu lugemiseks sellesse faili allpool nimetatud kood. Eelmise tekstifaili saate salvestada uude muutujale $ failinimi ja muutujat $ n kasutatakse iga rea väärtuse säilitamiseks. Nüüd, kasutades loopi, loeme iga rea failist, millel on konkreetne reanumber.
#!/bin/bashfaili nimi=„OS.txt”
n=1
samas loerida;
teha
# iga rea lugemiseks
viskas välja „OS -i jaotusliin nr.$ n:$ rida'
n= $((n+1))
tehtud < $ failinimi
Salvestage fail nimega OSinfo.sh ja tippige terminalis järgmine käsk, et käivitada ülaltoodud bash -skript.
$löömaOSinfo.sh
Nüüd käivitage algse faili sisu vaatamiseks käsk cat.
$kassOS.txt
Alternatiivne meetod failide lugemiseks
Faili nime edastamise kasutamine käsust
Bash -failis peate lisama järgmise koodiskripti. Selle skripti puhul peame argumendiks võtma failinime. Esiteks loeb argumendi väärtuse muutuja $ 1, millel on lugemiseks failinimi. See kontrollib, kas failinimi on määratud asukohas olemas, ja loeb samal ajal loopi abil faili rida -realt sarnaselt eelmisele näitele.
#!/bin/bashfaili nimi=$ 1
samas loerida;teha
# iga rea lugemine
viskas välja $ rida
tehtud < $ fail.txt
Salvestage ülaltoodud skript nimega „Readline.sh” ja täitke terminalis järgmine käsk ülalnimetatud skripti käivitamiseks:
Ülaltoodud väljundis näete, et fail „OSinfo.txt” edastatakse argumendina ja faili „OSinfo.txt” sisu kuvatakse pärast täiendavate tühikute eemaldamist. Faili algse sisu kuvamiseks käivitage käsk „cat OSinfo.txt”.
Järeldus
Selles artiklis oleme arutanud, kuidas lugeda ridu, kasutades bash -programmeerimisel while -tsüklit. Oleme rakendanud bash -skripti kasutades erinevaid meetodeid või saate lihtsalt tekstifaili abil rida -realt ülesannet lugeda. Kui soovite rohkem näiteid õppida, saate ülaltoodud süntaksi abil oma süsteemis ka käivitada. Loodan, et teile meeldis see õpetus ja see oleks teie jaoks ainulaadne. Mis tahes vea korral anname teada.