Napomena: Dolje prikazane metode demonstrirane su na Ubuntu 20.04. Međutim, dobro će funkcionirati i sa bilo kojom drugom distribucijom Linuxa.
Načini korištenja za svaki redak u datoteci u Bashu:
U ovim metodama pokazat ćemo vam primjer u kojem možete pročitati svaki redak iz datoteke, a zatim ga možete prikazati na terminalu ili čak možete spremiti te retke u drugu datoteku. Pogledajmo obje ove metode.
Metoda # 1: Za prikaz linija za čitanje na terminalu:
Za prikaz redaka datoteke na terminalu korištenjem za svaki redak u datoteci, morate izvršiti sljedeće korake:
Korak 1: Stvaranje lažne tekstualne datoteke:
Prije svega, radi demonstracije morate stvoriti tekstualnu datoteku s nekim nasumičnim podacima. Iako se ova tekstualna datoteka može stvoriti bilo gdje, ipak se preporučuje da je stvorite u mapi Početna. Da biste to učinili, kliknite ikonu Upravitelj datoteka istaknutu na donjoj slici:

Sada desnom tipkom miša kliknite bilo gdje u matičnoj mapi i odaberite opciju Novi dokument s prikazanog izbornika. Zatim odaberite opciju Isprazni dokument. Nakon što je u vašoj početnoj mapi kreiran prazan dokument, navedite naziv po vašem izboru, a zatim proširenje .txt. U ovom primjeru nazvali smo ga ForEachLine.txt.

Dvaput kliknite na ovu tekstualnu datoteku da biste je otvorili, a zatim upišite bilo koji nasumični tekst u nju kao što je prikazano na sljedećoj slici. Nakon toga spremite ovu datoteku i zatvorite je.

Korak 2: Stvaranje Bash skripte:
Sada stvorite Bash datoteku na isti način na koji ste stvorili tekstualnu datoteku u mapi Home, ali ovaj put morate unijeti njezin naziv, a zatim proširenje .sh umjesto nastavka .txt. Bash datoteku smo nazvali ForEachLine.sh, ali možete joj dati bilo koje ime po vašem izboru.
Otvorite ovu datoteku dvostrukim klikom na nju, a zatim upišite skriptu prikazanu na donjoj slici u svoju novostvorenu datoteku Bash. Ovdje je prvi redak koji označava da je sljedeća skripta Bash skripta. Jednostavno smo stvorili varijablu pod nazivom File i dodijelili joj ime naše tekstualne datoteke kao vrijednost, tj. ForEachLine.txt. Zatim smo stvorili varijablu pod nazivom Lines i izjednačili je s $ (cat $ File). Ovdje naredba cat čita sadržaj naše tekstualne datoteke, a kada joj prethodi simbol $, tada će sadržaj koji je pročitala ova naredba biti pohranjen u varijabli Lines. Na taj će se način sve linije datoteke pod nazivom ForEachLine.txt pohraniti u varijablu Lines. Zatim smo primijenili petlju For koja ima iteratorsku liniju. Ovaj iterator radi na varijabli Lines koju smo stvorili gore i prolazit će kroz sve retke jednu po jednu. Zatim smo u do-done bloku jednostavno prikazali sve ove retke na terminalu pomoću naredbe echo.
Korak # 3: Pokretanje Bash skripte:
Sada pokrenite terminal u Ubuntu 20.04, a zatim pokrenite sljedeću naredbu u njemu kako biste izvršili gore stvorenu Bash skriptu:
bash ForEachLine.sh
Kada ova naredba učini da se bash skripta izvrši, tada ćete moći vidjeti sve retke svoje tekstualne datoteke na svom terminalu kao što je prikazano na sljedećoj slici:
Metoda # 2: Za spremanje svih pročitanih redova u drugu datoteku:
U ovoj smo metodi malo izmijenili Bash skriptu stvorenu u gornjoj metodi za spremanje svih pročitanih redaka u novu tekstualnu datoteku umjesto da ih prikažemo na terminalu. Da biste to učinili, izvedite dolje navedene korake:
Korak # 1: Izmjena gore izrađenog Bash skripta i njegovo pokretanje:
Otvorite Bash skriptu koju ste stvorili u gornjoj metodi i izmijenite je kao što je prikazano na sljedećoj slici. Jednostavno smo dodali simbol >> nakon kojeg slijedi novi naziv datoteke nakon naredbe echo unutar bloka do-done. Ova će izmjena spremiti sve pročitane retke u novu tekstualnu datoteku umjesto da ih prikazuje na terminalu. Sada ponovno pokrenite Bash skriptu putem terminala s naredbom bash iza koje slijedi naziv datoteke Bash. Ovaj put kada će se Bash skripta pokrenuti, stvorit će novu tekstualnu datoteku čije je ime u ovom slučaju NewFile.txt.
Korak 2: Pristup novostvorenoj tekstualnoj datoteci:
Da biste provjerili jesu li svi pročitani retci spremljeni u novu tekstualnu datoteku, jednostavno možete pregledati sadržaj te datoteke pokretanjem sljedeće naredbe na svom terminalu:
mačka NewFile.txt
Izlaz prikazan na donjoj slici uvjerit će vas da su svi pročitani redovi kopirani u novu tekstualnu datoteku.
Zaključak:
Na taj način možete koristiti svaki redak u datoteci za čitanje svih redaka datoteke, a zatim manipulirati tim redovima. Upravo smo u ovom članku govorili o dva osnovna scenarija, međutim ovu petlju možete koristiti i za složenije probleme.