Bash Kiekvienai failo eilutei

Bash Each Line File



„For Bash“ kilpa gali būti naudojama su skirtingais variantais atliekant kelias užduotis. Vienas iš tokių variantų yra „Kiekvienai failo eilutei, kuri yra atsakinga už visų failo eilučių skaitymą. Šiame straipsnyje mes kalbėsime apie kiekvienos „Bash“ failo eilutės naudojimo metodus.

Pastaba: Žemiau pateikti metodai buvo parodyti naudojant „Ubuntu 20.04“. Tačiau jie taip pat gerai veiks su bet kuriuo kitu „Linux“ platinimu.







Naudojimo būdai kiekvienai „Bash“ failo eilutei:

Taikydami šiuos metodus, parodysime pavyzdį, kuriame galite perskaityti kiekvieną failo eilutę, tada galite ją parodyti terminale arba netgi išsaugoti šias eilutes kitame faile. Pažvelkime į abu šiuos metodus.



1 metodas: skaitymo linijų rodymas terminale:

Norėdami parodyti failo eilutes terminale naudodami kiekvieną failo eilutę, turėsite atlikti šiuos veiksmus:



1 žingsnis: sukurkite netikrą teksto failą:

Pirmiausia, norėdami parodyti, turite sukurti tekstinį failą su atsitiktiniais duomenimis. Nors šį tekstinį failą galima sukurti bet kur, tačiau labai rekomenduojama jį sukurti aplanke „Pagrindinis“. Norėdami tai padaryti, spustelėkite failų tvarkyklės piktogramą, paryškintą žemiau esančiame paveikslėlyje:





  • Dummy teksto failo kūrimas

    Dabar dešiniuoju pelės mygtuku spustelėkite bet kurią savo namų aplanko vietą ir pasirodžiusiame meniu pasirinkite parinktį Naujas dokumentas. Tada pasirinkite parinktį Tuščias dokumentas. Kai jūsų namų aplanke bus sukurtas tuščias dokumentas, nurodykite jam pasirinktą pavadinimą, po kurio eina plėtinys .txt. Šiame pavyzdyje mes pavadinome jį kaip „ForEachLine.txt“.

  • Manekeno teksto failo kūrimas2
    Dukart spustelėkite šį teksto failą, kad jį atidarytumėte, tada įveskite bet kokį atsitiktinį tekstą, kaip parodyta šiame paveikslėlyje. Tai atlikę, išsaugokite šį failą ir uždarykite.



  • Klaidingo teksto failo kūrimas 3

    2 žingsnis: „Bash“ scenarijaus kūrimas:

    Dabar sukurkite „Bash“ failą taip pat, kaip sukūrėte teksto failą aplanke „Pagrindinis“, išskyrus tai, kad šį kartą vietoj „.txt“ plėtinio turite nurodyti jo pavadinimą, o po to .sh plėtinį. Mes pavadinome savo „Bash“ failą „ForEachLine.sh“, tačiau galite suteikti jam bet kokį pasirinktą pavadinimą.
    „Bash“ scenarijaus kūrimas

    Atidarykite šį failą dukart spustelėdami jį, tada įveskite scenarijų, parodytą žemiau esančiame paveikslėlyje naujai sukurtame „Bash“ faile. Čia pirmoji eilutė nurodo, kad šis scenarijus yra „Bash“ scenarijus. Mes tiesiog sukūrėme kintamąjį pavadinimu „Failas“ ir priskyrėme jam savo teksto failo pavadinimą, pvz., „ForEachLine.txt“. Tada mes sukūrėme kintamąjį pavadinimu Lines ir sulyginome jį su $ (cat $ File). Čia komanda „cat“ skaito mūsų teksto failo turinį, o prieš jį yra simbolis $, tada šios komandos perskaitytas turinys bus saugomas kintamajame „Lines“. Tokiu būdu visos failo, pavadinto ForEachLine.txt, eilutės bus saugomos kintamajame Lines. Tada pritaikėme kilpą „For“, turintį iteratoriaus eilutę. Šis iteratorius veikia kintamąjį Lines, kurį sukūrėme aukščiau, ir jis kartos visas eilutes po vieną. Tada bloke „do-done“ mes tiesiog parodėme visas šias eilutes terminale, naudodami komandą „echo“.
    „Bash“ scenarijaus kūrimas 2

    3 žingsnis: paleiskite „Bash“ scenarijų:

    Dabar paleiskite terminalą „Ubuntu 20.04“ ir paleiskite šią komandą, kad paleistumėte aukščiau sukurtą „Bash“ scenarijų:
    bash ForEachLine.sh
    „Bash“ scenarijaus vykdymas

    Kai ši komanda atliks „bash“ scenarijų, savo terminale galėsite matyti visas teksto failo eilutes, kaip parodyta šiame paveikslėlyje:
    „Bash“ scenarijaus vykdymas

    2 metodas: Norėdami išsaugoti visas skaitymo eilutes kitame faile:

    Šiuo metodu mes šiek tiek pakeitėme „Bash“ scenarijų, sukurtą aukščiau aprašytu metodu, kad visos perskaitytos eilutės būtų išsaugotos naujame teksto faile, o ne rodomos terminale. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.

    1 žingsnis: pakeiskite aukščiau sukurtą „Bash“ scenarijų ir paleiskite jį:

    Atidarykite „Bash“ scenarijų, kurį sukūrėte aukščiau pateiktu metodu, ir pakeiskite jį, kaip parodyta šiame paveikslėlyje. Mes tiesiog pridėjome simbolį >>, po kurio sekė naujas failo pavadinimas po komandos „echo“ atlikto bloko. Šis pakeitimas išsaugos visas perskaitytas eilutes naujame teksto faile, o ne rodys jas terminale. Dabar dar kartą paleiskite „Bash“ scenarijų per terminalą naudodami komandą „bash“ ir „Bash“ failo pavadinimą. Šį kartą, kai bus paleistas „Bash“ scenarijus, jis sukurs naują teksto failą, kurio pavadinimas šiuo atveju yra NewFile.txt.
    Viršuje sukurto „Bash“ scenarijaus keitimas ir jo vykdymas

    2 veiksmas: prieiga prie naujai sukurto teksto failo:

    Norėdami patikrinti, ar visos perskaitytos eilutės buvo išsaugotos naujame teksto faile, galite tiesiog peržiūrėti to failo turinį vykdydami šią komandą savo terminale:
    katė NewFile.txt
    Prieiga prie naujai sukurto teksto failo
    Žemiau esančiame paveikslėlyje parodyta išvestis užtikrins, kad visos perskaitytos eilutės buvo nukopijuotos į naują teksto failą.
    Prieiga prie naujai sukurto teksto failo2

    Išvada:

    Tokiu būdu galite pasinaudoti kiekviena failo eilute, kad perskaitytumėte visas failo eilutes ir tada manipuliuotumėte jomis šiomis eilutėmis. Šiame straipsnyje mes ką tik kalbėjome apie du pagrindinius scenarijus, tačiau jūs netgi galite naudoti šią kilpą sudėtingesnėms problemoms.