Bash ciklas per failus kataloge

Bash Loop Through Files Directory



„Ubuntu“, įskaitant „Bash“, kilpos leido taikyti operacijas keliems failams. Ciklas yra efektyviausias dalykas, nes jis leidžia vartotojui pakartotinai taikyti tą pačią logiką naudojant mažą kodo eilutę.

Norėdami suprasti katalogo failų kartojimo sąvoką, jums reikia prieigos prie „Ubuntu“ programos ir paslaugų. Kai turite tam tikrų privilegijų, galite dirbti tik su failais ir katalogais.







Turėtumėte įdiegti „Bash“ „Ubuntu“ operacinėje sistemoje. Kai kuriuose įrenginiuose jis pagal numatytuosius nustatymus yra įdiegtas atnaujinant paketus. Jei jis jau įdiegtas, turite atnaujinti versiją, nes ji turi būti aukštesnė nei 4. Jei norite tęsti dabartinį vadovą, turite išlaikyti aukštesnę versiją. 4. Norėdami patikrinti iš anksto įdiegtos „Bash“ versijos jūsų sistemoje, naudokite komandą Ubuntu terminale.



$Bash--versija



Taigi jūs turite atlikti kai kurias failų ir katalogų funkcijas. Žemiau pateiktas komandas galite vykdyti bet kuriame pasirinktame kataloge. Bet tiksliau, pageidautina sukurti naują katalogą, kad visi jo objektai būtų lengvai prieinami, kai jį atidarysite.





Pirmasis žingsnis yra sukurti katalogą. Mes paėmėme katalogo abc pavadinimo pavyzdį. Sukurkite katalogą vykdydami komandą.

$mkdirabc



Sukūrę katalogą, dabar turite atlikti visas komandas. Taigi sukūrę katalogą, pereikite prie to katalogo. Naudokite žemiau nurodytą komandą:

$CDabc

Nuvykę į katalogą, dabar sukurkite kai kuriuos failus naudodami lietimo komandą.

$paliestifile1.txt

Norint sukurti failą „Ubuntu“, naudojama daug metodų. Be jutiklinės komandos, čia naudojome komandą „echo“, kad sukurtume failą ir kartu įtrauktume jo turinį į vieną komandą:

$išmetėLinux, ubuntu, Postgresql>file7.txt

Šis failas sukurtas paprastame kataloge, kuris šiuo metu veikia pagal numatytuosius nustatymus. Taigi naujai sukurto katalogo pavadinimas nėra pridėtas komandų eilutėje. Taip pat galite kurti failus naudodami jutiklinės komandos diapazoną ir išplėtimą.

$paliestibyla-{1..8}.txt

Naudojant šią komandą naujuose .txt plėtinių failuose bus sukurta naudojant vieną komandą.

Po to dabar galite peržiūrėti naujai sukurtą katalogą. Rodyti failų pavadinimus. Kadangi turime pereiti per katalogo failus, mums reikia kilpos. Kilpos yra labai veiksmingos naudoti, nes jos nuskaito duomenis per trumpesnį laiką ir reikalauja mažiau įvesties. Čia mes naudosime kilpą. Naudojant šią kilpą, kiekvieno failo pavadinimas bus rodomas kitoje eilutėje.

$dėl failą į *;daryti išmetė $ failas;padaryta

* naudojamas visiems šiame kataloge esantiems failams. Tai leidžia ciklui „už“ paimti visus failus. Bet kad išvestis būtų tiksli, galite pridėti keletą terminų su žvaigždutės ženklu. Pavyzdžiui, „failas*“ naudojamas visiems failams, kurie prasideda nuo failo. Ir *.txt, kad gautumėte failus su plėtiniais .txt. Toliau naudosime šiuos pavyzdžius straipsnyje.

Ši kilpa veiks taip, kad ji nuskaitys visus failus iš katalogo ir tada parodys visus failus per komandą echo. $ Ženklas čia reiškia failo pavadinimą. Iš rezultato matote, kad rodomas kiekvieno failo pavadinimas.

Patikrinus failus, sukurtus rodant failų pavadinimus, dabar laikas įvesti failų vertę, nes sukurti failai yra tušti. Tai galima padaryti rankiniu būdu, atidarius kiekvieną failą teksto rengyklėje ir tada įrašant duomenis. Antrasis variantas - įvesti duomenis į kiekvieną failą per komandą terminale. Tačiau norint įvesti duomenis į kiekvieną failą, reikia laiko per vieną kiekvieno failo komandą. Bet tai galima padaryti lengvai ir bendrai, naudojant ciklą vienoje komandoje.

$dėl failą į *;daryti išmetė -2 $ failas n „Linux Ubuntu“> $ failas;padaryta

Įvykdžius komandą, vertė buvo įvesta į kiekvieną mūsų sukurtą failą. Naudojant su aidu, vėliava „-e“ išsaugos naują failo eilutę. Norėdami pamatyti įvestus duomenis, galite pereiti į katalogą „abc“. Dabar atidarykite bet kurį teksto failą. Failas nebėra tuščias.

„$ Failas pirmiausia parodys failo pavadinimą, o įvesti duomenys bus peržiūrimi antroje eilutėje, nes n naudojamas po to vartojamiems žodžiams perkelti į kitą eilutę. Taip pat galite patikrinti duomenis, įvestus per komandą.

$dėl failą į *;daryti katė $ failas;padaryta

„Cat“ komanda naudojama duomenims, esantiems visuose katalogo failuose, gauti.

Duomenų įvedimo ir gavimo procedūra gali būti atliekama naudojant vieną komandą.

$dėl failą į *;daryti išmetė-Ir$ failas nbash programavimas> $ failas;katė $ failas;padaryta

Pirmasis žingsnis yra įrašyti duomenis į failą ir tada juos rodyti. Kai vykdote komandą, išvestis bus tokia:

Kiekviename faile yra ta pati vertė. Taip yra dėl kilpos „už“.

Mes žinome ciklą duomenims gauti ir reikšmėms įterpti ir pan., Tačiau kilpa taip pat naudojama atsarginėms kopijoms kurti. Šių failų pabaigoje yra plėtinys .bak. Dabar vykdykite atsarginės kopijos komandą apvalkale, kad pamatytumėte kiekvieno failo atsarginę kopiją.

$dėl failą į *;daryti cp $ failas $ failas.paskui;padaryta;

Raktinis žodis cp naudojamas visų failų atsarginėms kopijoms kurti. Dabar pažiūrėkite failus, kuriems taikoma ši komanda. Mes naudojame komandą taip:

$ls-

Dabar iš išvesties matyti, kad rodoma failų detalė. Data, failo pavadinimas, vartotojo vardas ir laikas, kai jis buvo ištrintas. Be to, turite tikslią kiekvieno failo kopiją.

Jei norime tik jpeg failų. Mes tai naudosime komandoje

$dėl failą į *.jpeg;daryti išmetė $ failas;padaryta

Tai parodys tik vaizdų pavadinimus.

Paprastas radinys taip pat gali atlikti tą pačią funkciją. Jis paims visus failus su plėtiniu .sh.

$rasti. - vardas*sh

Mes naudosime raktinį žodį rasti cikle.

$dėl failą į *;darytirasti. Failas.*;padaryta

Taip visi failai bus perkelti į dabartinį katalogą. Jų plėtiniai yra .bak, .jpeg, .txt. ir kt.

Dabar, jei norite pamatyti visų katalogų failų pavadinimus ir juose esančius duomenis, tai taip pat daro „for“ kilpa.

$dėl failą į *;daryti failą $ failas;padaryta

Išvada

Kaip žinome, naršyti failus bet kuriame kataloge nėra sunku, naudojant kilpas „Bash“ ir veikiant „Linux“ operacinėse sistemose. Ši pamoka yra išsamus vadovas, kaip sukurti, pasiekti ir atlikti operacijas kataloge naudojant kilpą „už“.