Bash Faili iga rea ​​jaoks

Bash Each Line File



Bashi tsüklit For saab kasutada erinevate variatsioonidega mitme ülesande täitmiseks. Üks selline variatsioon on faili iga rea ​​jaoks, mis vastutab faili kõigi ridade lugemise eest. Selles artiklis räägime meetoditest, kuidas kasutada Bashi iga faili rida.

Märkus. Allpool näidatud meetodeid on demonstreeritud Ubuntu 20.04 -s. Kuid need töötavad hästi ka mis tahes muu Linuxi levitamisega.







Kasutamismeetodid Bashi iga faili rea jaoks:

Nende meetodite puhul näitame teile näidet, kus saate lugeda iga rida failist ja seejärel kuvada selle terminalis või isegi salvestada need read mõnda teise faili. Vaatame mõlemat meetodit.



Meetod nr 1: lugemisjoonte kuvamiseks terminalis:

Faili ridade kuvamiseks terminalis, kasutades iga failirea jaoks, peate tegema järgmised toimingud:



Samm 1: näiva tekstifaili loomine:

Esiteks peate esitluse huvides looma tekstifaili mõne juhusliku teabega. Kuigi seda tekstifaili saab luua kõikjal, on siiski soovitatav see luua kausta Kodu. Selleks klõpsake alloleval pildil esile tõstetud failihalduri ikooni:





  • Dummy tekstifaili loomine

    Nüüd paremklõpsake oma kausta Kodu suvalisel kohal ja valige kuvatavast menüüst suvand Uus dokument. Seejärel valige suvand Tühjenda dokument. Kui teie kausta Kodu on loodud tühi dokument, sisestage sellele valitud nimi ja seejärel laiend .txt. Selles näites oleme sellele nime andnud ForEachLine.txt.

  • Fiktiivse tekstifaili loomine 2
    Topeltklõpsake seda tekstifaili selle avamiseks ja seejärel tippige sinna juhuslik tekst, nagu on näidatud järgmisel pildil. Pärast seda salvestage see fail ja sulgege see.



  • Dummy tekstifaili loomine 3

    Samm 2: Bash -skripti loomine:

    Nüüd looge Bash -fail samamoodi, nagu olete loonud kausta Kodu tekstifaili, välja arvatud see, et seekord peate esitama selle nime, millele järgneb laiend .txt, mitte laiend .sh. Oleme andnud oma Bash -failile nime ForEachLine.sh, kuid võite sellele anda mis tahes nime.
    Bash -skripti loomine

    Avage see fail, topeltklõpsates sellel ja seejärel tippige alloleval pildil näidatud skript oma äsja loodud Bash-faili. Siin on esimene rida, mis näitab, et järgmine skript on Bashi skript. Oleme lihtsalt loonud muutuja nimega File ja määranud selle väärtuseks oma tekstifaili nime, st ForEachLine.txt. Seejärel oleme loonud muutuja nimega Lines ja võrdsustanud selle väärtusega $ (cat $ File). Siin loeb käsk cat meie tekstifaili sisu ja kui sellele eelneb sümbol $, siis selle käsuga loetud sisu salvestatakse muutujale Lines. Sel viisil salvestatakse ForEachLine.txt -nimelise faili kõik read muutujale Lines. Seejärel oleme rakendanud silmuse For, millel on iteraatori rida. See iteraator töötab muutujaga Lines, mille oleme loonud ülalpool, ja see kordab ükshaaval läbi kõik read. Seejärel oleme tehtud valmis plokis kõik need read terminalis lihtsalt kuvanud, kasutades käsku echo.
    Bash -skripti loomine 2

    Samm 3: Bash -skripti käivitamine:

    Nüüd käivitage terminal Ubuntu 20.04 ja käivitage seejärel järgmine käsk, et käivitada ülaltoodud Bash -skript:
    bash ForEachLine.sh
    Bash Scripti käivitamine

    Kui see käsk paneb bash -skripti täitma, näete terminalis kõiki oma tekstifaili ridu, nagu on näidatud järgmisel pildil:
    Bash Scripti käivitamine

    Meetod nr 2: kõigi lugemisliinide salvestamiseks teise faili:

    Selle meetodi puhul oleme veidi muutnud ülaltoodud meetodil loodud Bash -skripti, et salvestada kõik loetud read uude tekstifaili, mitte kuvada neid terminalis. Selleks toimige järgmiselt.

    Samm: ülaltoodud Bash -skripti muutmine ja selle käitamine:

    Avage ülaltoodud meetodil loodud Bash -skript ja muutke seda, nagu on näidatud järgmisel pildil. Oleme lihtsalt lisanud sümboli >>, millele järgneb uus failinimi pärast tehtud kaja käsku echo. See muudatus salvestab kõik loetud read uude tekstifaili, selle asemel et neid terminalis kuvada. Nüüd käivitage Bash -skript terminali kaudu uuesti käsuga bash, millele järgneb Bash -faili nimi. Seekord, kui Bash -skript käivitatakse, loob see uue tekstifaili, mille nimi on sel juhul NewFile.txt.
    Eespool loodud Bash -skripti muutmine ja selle käitamine

    Samm 2: Juurdepääs äsja loodud tekstifailile:

    Et kontrollida, kas kõik loetud read on uude tekstifaili salvestatud, saate lihtsalt vaadata selle faili sisu, käivitades oma terminalis järgmise käsu:
    kass NewFile.txt
    Juurdepääs äsja loodud tekstifailile
    Alloleval pildil näidatud väljund tagab teile, et kõik loetud read on uude tekstifaili kopeeritud.
    Juurdepääs äsja loodud tekstifailile2

    Järeldus:

    Sel viisil saate iga faili rida kasutada faili kõigi ridade lugemiseks ja seejärel nende ridadega manipuleerimiseks. Me rääkisime just käesolevas artiklis kahest põhistsenaariumist, kuid saate seda tsüklit kasutada isegi keerukamate probleemide korral.