Kā lasīt failu pa rindām Bash skriptā

How Read File Line Line Bash Script



Kā jūs rakstītu Bash skriptu, kas var apstrādāt teksta failu vienu rindu vienlaikus. Vispirms jums ir nepieciešama sintakse un pieeja, lai lasītu failu pa rindām. Šīs pieejas metodes ir parādītas šajā apmācībā.

Pieņemsim, ka jums ir fails ar nosaukumu company.txt kāda satura nosaukums ir uzņēmumiem. Šis fails satur šādu saturu.







Uzņēmums.txt
Samsung
Nokia
LG
Simfonija
iphone

-1 piemērs: faila satura nolasīšana no komandrindas

Pieņemsim, ka vēlaties izlasīt failu, company.txt , rindu pa rindai no komandrindas bez 'Kaķis' komandu. Lai veiktu uzdevumu, izpildiet šo komandu. kamēr cilpa nolasa katru faila rindu company.txt katrā solī un saglabājiet rindas saturu $ līnija mainīgais, kas tiks izdrukāts vēlāk.



$kamēr lasītlīnija;darīt izmest ārā $ līnija;darīts <company.txt



-2. Piemērs: faila satura lasīšana, izmantojot skriptu

Izveidojiet bash failu un pievienojiet šādu kodu, lai izlasītu konkrēta faila saturu. Šeit tiek saglabāts esošs faila nosaukums $ faila nosaukums mainīgais un $ n mainīgais tiek izmantots, lai saglabātu šī faila rindas numura vērtību. Tāpat kā iepriekšējais piemērs, kamēr cilpa tiek izmantota, lai izlasītu šo failu ar rindas numuru.





#!/bin/bash
faila nosaukums='company.txt'
n=1
kamēr lasītlīnija;darīt
#lasa katru rindu
izmest ārā 'Līnija Nr.$ n:$ līnija'
n= $((n+1))
darīts < $ faila nosaukums

Palaidiet šo komandu, lai izpildītu skriptu.

$bashreadfile1.sh

Skrien 'Kaķis' komandu ar company.txt failu, lai parādītu sākotnējo saturu company.txt failu.



$ cat company.txt

Piemērs -3: faila nosaukuma nodošana no komandrindas un faila lasīšana

Izveidojiet bash failu un pievienojiet šādu skriptu. Šis skripts ņems faila nosaukumu no komandrindas argumenta. Pirmā argumenta vērtību nolasa mainīgais $ 1, kurā būs lasāmā faila nosaukums. Ja fails pastāv pašreizējā vietā, tad kamēr cilpa nolasīs failu pa rindām kā iepriekšējais piemērs un izdrukās faila saturu.

#!/bin/bash
faila nosaukums=$ 1
kamēr lasītlīnija;darīt
#lasa katru rindu
izmest ārā $ līnija
darīts < $ faila nosaukums

Palaidiet iepriekš minēto skriptu ar darbinieks.txt failu kā argumenta vērtību. Izvade parādīs saturu darbinieks.txt failu, noņemot papildu vietu. Jūs varat parādīt vietnes sākotnējo saturu darbinieks.txt failu, izmantojot 'Kaķis' komandu.

$ bash readfile2.txt darbinieks.txt
$ cat darbinieks.txt

4. piemērs: faila lasīšana, izlaižot slīpsvītru

Ja vēlaties izlasīt katru faila rindiņu, izlaižot slīpsvītru, tad jāizmanto “-R” opcija ar lasīšanas komandu kamēr cilpa.

#!/bin/bash
kamēr lasīt -rlīnija;darīt
# Katras rindas lasīšana
izmest ārā $ līnija
darīts <uzņēmums2.txt

Izveidojiet failu ar nosaukumu uzņēmums2.txt ar slīpsvītru un izpildiet šo komandu, lai izpildītu skriptu. Izvade parādīs faila saturu bez slīpsvītras.

$bashreadfile3.sh

Jums būs jāizlasa fails daudziem programmēšanas mērķiem. Piemēram, jūs varat viegli meklēt vai saskaņot jebkuru konkrētu saturu no jebkura faila, lasot katru rindu atsevišķi. Tātad, tas ir būtisks uzdevums jebkurai programmēšanai. Šajā apmācībā ir parādīti daži vienkārši faila lasīšanas piemēri bash skriptā. Tie palīdzēs jums iegūt priekšstatu par faila satura lasīšanu rindā pa rindām, izmantojot cilpu bash skriptu, un efektīvāk lietot skriptā. Lai iegūtu vairāk informācijas, skatieties video !