Bash Za vsako vrstico v datoteki

Bash Each Line File



Zanko For v Bashu lahko uporabite z različnimi različicami za izvajanje več nalog. Ena od teh različic je Za vsako vrstico v datoteki, ki je odgovorna za branje vseh vrstic v datoteki. V tem članku bomo govorili o načinih uporabe za vsako vrstico v datoteki v Bashu.

Opomba: Spodaj prikazane metode so bile prikazane na Ubuntu 20.04. Vendar pa bodo dobro delovali tudi s katero koli drugo distribucijo Linuxa.







Načini uporabe za vsako vrstico v datoteki v Bashu:

Pri teh metodah vam bomo prikazali primer, v katerem lahko preberete vsako vrstico iz datoteke, nato pa jo lahko prikažete na terminalu ali pa te vrstice celo shranite v drugo datoteko. Oglejmo si obe metodi.



Metoda # 1: Za prikaz prebranih vrstic na terminalu:

Za prikaz vrstic datoteke na terminalu z uporabo za vsako vrstico v datoteki boste morali izvesti naslednje korake:



1. korak: Ustvarjanje lažne besedilne datoteke:

Najprej morate zaradi predstavitve ustvariti besedilno datoteko z nekaj naključnimi podatki. Čeprav je to besedilno datoteko mogoče ustvariti kjer koli, je zelo priporočljivo, da jo ustvarite v domači mapi. Če želite to narediti, kliknite ikono Upravitelj datotek, označeno na spodnji sliki:





  • Ustvarjanje lažne besedilne datoteke

    Zdaj z desno tipko miške kliknite kjer koli v domači mapi in v meniju, ki se prikaže, izberite možnost Nov dokument. Nato izberite možnost Izprazni dokument. Ko je v domači mapi ustvarjen prazen dokument, vnesite ime po lastni izbiri, ki mu sledi razširitev .txt. V tem primeru smo ga poimenovali kot ForEachLine.txt.

  • Ustvarjanje lažne besedilne datoteke2
    Dvokliknite to besedilno datoteko, da jo odprete, nato pa vanj vnesite poljubno besedilo, kot je prikazano na naslednji sliki. Po tem shranite to datoteko in jo zaprite.



  • Ustvarjanje lažne besedilne datoteke 3

    2. korak: Ustvarjanje bash skripta:

    Zdaj ustvarite datoteko Bash na enak način, kot ste ustvarili besedilno datoteko v domači mapi, le da morate tokrat vnesti njeno ime, ki mu sledi razširitev .sh namesto razširitve .txt. Našo datoteko Bash smo poimenovali ForEachLine.sh, vendar ji lahko daste poljubno ime.
    Ustvarjanje skripta Bash

    Odprite to datoteko tako, da jo dvokliknete in nato v novo ustvarjeno datoteko Bash vnesete skript, prikazan na spodnji sliki. Tukaj je prva vrstica, ki označuje, da je naslednji skript Bash skript. Enostavno smo ustvarili spremenljivko z imenom File in ji dodelili ime naše besedilne datoteke kot njeno vrednost, tj. ForEachLine.txt. Nato smo ustvarili spremenljivko z imenom Lines in jo izenačili na $ (cat $ File). Tukaj ukaz cat bere vsebino naše besedilne datoteke in ko je pred njim simbol $, bo vsebina, ki jo bere ta ukaz, shranjena v spremenljivki Lines. Na ta način bodo vse vrstice datoteke z imenom ForEachLine.txt shranjene v spremenljivki Lines. Nato smo uporabili zanko For, ki ima iteratorno vrstico. Ta iterator deluje na spremenljivki Lines, ki smo jo ustvarili zgoraj, in se bo vrtela po vseh vrsticah eno za drugo. Nato smo v bloku do-done vse te vrstice preprosto prikazali na terminalu z uporabo ukaza echo.
    Ustvarjanje Bash skripta 2

    3. korak: Zaženite Bash Script:

    Zdaj zaženite terminal v Ubuntu 20.04 in nato v njem zaženite naslednji ukaz za izvedbo zgoraj ustvarjenega skripta Bash:
    bash ForEachLine.sh
    Izvajanje skripta Bash

    Ko bo ta ukaz izvajal bash skript, boste lahko videli vse vrstice svoje besedilne datoteke na svojem terminalu, kot je prikazano na naslednji sliki:
    Izvajanje skripta Bash

    Metoda # 2: Shranjevanje vseh prebranih vrstic v drugo datoteko:

    Pri tej metodi smo nekoliko spremenili skript Bash, ustvarjen v zgornji metodi, da shranimo vse prebrane vrstice v novo besedilno datoteko, namesto da jih prikažemo na terminalu. Če želite to narediti, izvedite naslednje korake:

    1. korak: Spremenite zgoraj ustvarjen bash skript in ga zaženite:

    Odprite skript Bash, ki ste ga ustvarili v zgornji metodi, in ga spremenite, kot je prikazano na naslednji sliki. Preprosto smo dodali simbol >>, ki mu sledi novo ime datoteke po ukazu echo v bloku do-done. Ta sprememba bo shranila vse prebrane vrstice v novo besedilno datoteko, namesto da bi jih prikazala na terminalu. Zdaj znova zaženite skript Bash prek terminala z ukazom bash, ki mu sledi ime datoteke Bash. Tokrat, ko se zažene skript Bash, bo ustvaril novo besedilno datoteko, katere ime je v tem primeru NewFile.txt.
    Spreminjanje zgoraj ustvarjenega skripta Bash in njegovo izvajanje 1

    2. korak: Dostop do novo ustvarjene besedilne datoteke:

    Če želite preveriti, ali so vse prebrane vrstice shranjene v novo besedilno datoteko, si preprosto ogledate vsebino te datoteke tako, da v svojem terminalu zaženete naslednji ukaz:
    mačka NewFile.txt
    Dostop do novo ustvarjene besedilne datoteke
    Izhod, prikazan na spodnji sliki, vam bo zagotovil, da so bile vse prebrane vrstice kopirane v novo besedilno datoteko.
    Dostop do novo ustvarjene besedilne datoteke2

    Zaključek:

    Na ta način lahko uporabite za vsako vrstico v datoteki, da preberete vse vrstice datoteke in nato z njimi upravljate. V tem članku smo pravkar govorili o dveh osnovnih scenarijih, vendar lahko to zanko uporabite tudi za bolj zapletene težave.