Lasīšanas rindas pamata sintakse
Lai sinhronizētu failu, izmantojot cilpu while, tiek izmantota šāda sintakse:
kamēr lasīt -rlīnija;
darīt
izmest ārā '$ līnija';
darīts <input.file
Iepriekšminētās sintakses opcija “-r” tika nodota lasīšanas komandai, kas novērš slīpsvītras interpretāciju. Opcija “input_file” ir parādījusi jūsu faila nosaukumu, kuram vēlaties piekļūt, izmantojot komandu “read”.
Iekšējo lauku atdalītāju, kas saīsināts kā IFS, var izmantot, pirms lasīšanas komandai tiek iestatīta nulles virkne, kas neļauj apgriezt sākuma vai beigu atstarpes.
kamēr IFS=lasīt -rlīnija;
darīt
izmest ārā $ līnija;
darīts <input.file
Atveriet termināli, izmantojot īsinājumtaustiņu Ctrl + Alt + t, un pēc tam palaidiet tālāk norādītās komandas.
1. piemērs: faila lasīšana pa rindām
Ņemsim piemēru, kurā pieņemsim, ka mums ir fails ar nosaukumu OS.txt, kurā ir visu svarīgo Linux izplatījumu nosaukumi. Ja vēlaties lasīt failu, neizmantojot komandu “kaķis”, šim nolūkam varat izpildīt šādu komandu, lai veiktu konkrēto uzdevumu. Mēs izmantosim ciklu ciklu, kas nolasīs katru rindiņu no faila OS.txt un katrā posmā saglabās saturu mainīgā $ rindā, kuru varēsit parādīt vēlāk.
Ielīmējiet šādus Linux izplatīšanas nosaukumus failā OS.txt
CentOS
Ubuntu
Debian
LinuxMint $kamēr lasītlīnija;
darīt
izmest ārā $ līnija;
darīts <OS.txt
Izmantojot iepriekš minēto komandu, termināļa logā jūs saņemsit šādu atbildi:
2. piemērs: faila lasīšana, izmantojot bash skriptu
Izveidojiet bash failu un pēc tam pievienojiet šajā failā zemāk minēto kodu, lai izlasītu faila saturu. Jūs varat saglabāt iepriekšējo teksta failu jaunā mainīgajā $ faila nosaukums, un mainīgais $ n tiek izmantots, lai saglabātu katras rindas vērtību. Tagad, izmantojot cilpu while, mēs nolasīsim katru rindu no faila ar noteiktu rindas numuru.
#!/bin/bashfaila nosaukums=“OS.txt”
n=1
kamēr lasītlīnija;
darīt
#, lai izlasītu katru rindiņu
izmest ārā 'OS izplatīšanas līnija Nr.$ n:$ līnija'
n= $((n+1))
darīts < $ faila nosaukums
Saglabājiet failu ar nosaukumu OSinfo.sh un terminālī ierakstiet šādu komandu, lai palaistu iepriekš minēto bash skriptu.
$bashOSinfo.sh
Tagad palaidiet komandu cat, lai skatītu sākotnējo faila saturu.
$kaķisOS.txt
Alternatīva metode failu lasīšanai
Izmantojot komandu, kas nodod faila nosaukumu
Bash failā jāpievieno šāds koda skripts. Šajā skriptā mums kā arguments ir jāņem faila nosaukums. Pirmkārt, argumenta vērtību nolasa mainīgais $ 1, kuram ir lasāms faila nosaukums. Tā pārbaudīs, vai faila nosaukums pastāv norādītajā vietā, un pēc tam, izmantojot cilpu, tā nolasa failu pa rindām līdzīgi kā iepriekšējā piemērā.
#!/bin/bashfaila nosaukums=$ 1
kamēr lasītlīnija;darīt
#lasa katru rindu
izmest ārā $ līnija
darīts < $ failu.txt
Saglabājiet iepriekš minēto skriptu ar nosaukumu “Readline.sh” un izpildiet šādu komandu terminālī, lai palaistu iepriekš minēto skriptu:
Iepriekš minētajā iznākumā jūs ievērosit, ka fails “OSinfo.txt” tiek nodots kā arguments un “OSinfo.txt” saturs tiks parādīts pēc papildu atstarpju noņemšanas. Jūs varat parādīt sākotnējo faila saturu, palaižot “cat OSinfo.txt”.
Secinājums
Šajā rakstā mēs esam apsprieduši, kā lasīt rindas, izmantojot bash programmēšanas cilpu while. Mēs esam ieviesuši dažādas metodes, izmantojot bash skriptu, vai arī jūs varat vienkārši izmantot teksta failu, lai lasītu faila rindu pa rindai. Ja vēlaties uzzināt vairāk piemēru, tad, izmantojot iepriekš minēto sintaksi, varat to izpildīt arī savā sistēmā. Es ceru, ka jums patika šī apmācība un jums tā būs unikāla. Zināsim kādas kļūdas gadījumā.