Kaip skaityti failą eilutėje po eilutės „Bash“ scenarijuje

How Read File Line Line Bash Script



Kaip parašytumėte „Bash“ scenarijų, kuris vienu metu galėtų apdoroti teksto failą. Pirmiausia reikia sintaksės ir požiūrio, kad galėtumėte perskaityti failą eilute po eilutės. Šio metodo metodai parodyti šioje pamokoje.

Tarkime, turite failą pavadinimu company.txt kokio turinio įmonės pavadina. Šiame faile yra toliau nurodytas turinys.







Company.txt
„Samsung“
Nokia
LG
Simfonija
„iPhone“

-1 pavyzdys: failo turinio skaitymas iš komandinės eilutės

Tarkime, norite perskaityti failą, company.txt , eilutė po eilutės iš komandinės eilutės be 'katė' komandą. Norėdami atlikti užduotį, paleiskite šią komandą. tuo tarpu kilpa skaitys kiekvieną failo eilutę company.txt kiekviename žingsnyje ir išsaugokite eilutės turinį $ eilutė kintamasis, kuris bus atspausdintas vėliau.



$tuo tarpu skaitytilinija;daryti išmetė $ eilutė;padaryta <company.txt



-2 pavyzdys: failo turinio skaitymas naudojant scenarijų

Sukurkite „bash“ failą ir pridėkite šį kodą, kad perskaitytumėte tam tikro failo turinį. Čia saugomas esamas failo pavadinimas $ failo pavadinimas kintamasis ir $ n kintamasis naudojamas to failo eilutės numerio vertei išlaikyti. Kaip ir ankstesnis pavyzdys, tuo tarpu kilpa naudojama šiam failui su eilutės numeriu skaityti.





#!/bin/bash
failo pavadinimas=„company.txt“
n=1
tuo tarpu skaitytilinija;daryti
# skaito kiekvieną eilutę
išmetė 'Linija Nr.$ n:$ eilutė'
n= $((n+1))
padaryta < $ failo pavadinimas

Vykdykite šią komandą, kad įvykdytumėte scenarijų.

$muštireadfile1.sh

Bėgti 'katė' komanduoti su company.txt failą, kad būtų rodomas pradinis turinys company.txt failą.



$ cat company.txt

-3 pavyzdys: Failo pavadinimo perdavimas iš komandinės eilutės ir failo skaitymas

Sukurkite „bash“ failą ir pridėkite šį scenarijų. Šis scenarijus paims failo pavadinimą iš komandinės eilutės argumento. Pirmąją argumento vertę skaito kintamasis $ 1, kuriame bus skaitomas failo pavadinimas. Jei failas yra dabartinėje vietoje, tada tuo tarpu kilpa skaitys failą eilute po eilutės, kaip ir ankstesnis pavyzdys, ir spausdins failo turinį.

#!/bin/bash
failo pavadinimas=1 USD
tuo tarpu skaitytilinija;daryti
# skaito kiekvieną eilutę
išmetė $ eilutė
padaryta < $ failo pavadinimas

Paleiskite aukščiau pateiktą scenarijų naudodami darbuotojas.txt failą kaip argumento vertę. Išvestyje bus rodomas turinys darbuotojas.txt failą pašalindami papildomą vietą. Galite parodyti originalų turinį darbuotojas.txt failą naudojant 'katė' komandą.

$ bash readfile2.txt darbuotojas.txt
$ cat darbuotojas.txt

4 pavyzdys: failo skaitymas praleidžiant pasvirąjį brūkšnį

Jei norite perskaityti kiekvieną failo eilutę, praleisdami pasvirąjį brūkšnį, turite naudoti „-R“ parinktis su skaitymo komanda tuo tarpu kilpa.

#!/bin/bash
tuo tarpu skaityti -rlinija;daryti
# Skaitykite kiekvieną eilutę
išmetė $ eilutė
padaryta <kompanija2.txt

Sukurkite failą pavadinimu kompanija2.txt su atgaliniu brūkšniu ir paleiskite šią komandą, kad įvykdytumėte scenarijų. Išvestyje bus rodomas failo turinys be pasvirojo brūkšnio.

$muštireadfile3.sh

Turėsite perskaityti failą daugeliui programavimo tikslų. Pvz., Galite lengvai ieškoti bet kokio konkretaus turinio iš bet kurio failo ir skaityti kiekvieną eilutę atskirai. Taigi, tai yra esminė bet kokio programavimo užduotis. Šioje pamokoje pateikiami keli paprasti failo skaitymo „bash“ scenarijuje pavyzdžiai. Tai padės jums suprasti idėją skaityti failo turinį eilutėje naudojant „loop in bash“ scenarijų ir efektyviau pritaikyti jį savo scenarijuje. Norėdami gauti daugiau informacijos, žiūrėkite vaizdo įrašas !