Customizing Cloud9 and the CS50 IDE by Dan Armendariz
Sisällysluettelo:
- Tiedostojen lukeminen riviltä syntaksi
- Tiedostojen lukeminen rivi riviltä
- Vaihtoehtoiset tiedostojen lukemismenetelmät
- Prosessikorvauksen käyttäminen
- Tässä merkkijonon käyttäminen
- Tiedostonkuvauksen käyttäminen
- johtopäätös
Kun kirjoitat Bash-skriptejä, joudut joskus tilanteisiin, joissa sinun on luettava tiedosto riviltä. Esimerkiksi, sinulla voi olla tekstitiedosto, joka sisältää tietoja, jotka komentosarjan tulisi käsitellä.
Tässä opetusohjelmassa keskustellaan siitä, kuinka tiedosto rivi riviltä luetaan Bashissa.
Tiedostojen lukeminen riviltä syntaksi
Yleisin syntaksi tiedoston lukemiseen rivi riviltä on seuraava:
while IFS= read -r line do echo "$line" done < input_file
tai vastaava yksirivinen versio:
while IFS= read -r line; do echo $line; done < input_file
Kuinka se toimii?
Syöttötiedosto (
input_file
) on sen tiedoston nimi, jonka haluat avata lukemiseen
read
komennolla. Lukukomento lukee tiedosto riviltä riville, määrittämällä jokainen
line
rivimuuttujalle. Kun kaikki rivit on käsitelty, silmukka loppuu. Sisäinen kenttäerotin (
IFS
) on asetettu nollamerkkijonoon, jotta välilyönti ja takaosan välilyönti voidaan säilyttää, mikä on lukukomennon oletuskäyttäytyminen.
Tiedostojen lukeminen rivi riviltä
Katsotaanpa seuraavaa esimerkkiä. Oletetaan, että meillä on tiedosto nimeltä
distros.txt
joka sisältää luettelon eräistä suosituimmista Linux-jakeluista ja niiden pakettien
distros.txt
pilkulla (
,
) erotettuna:
Ubuntu, apt Debian, apt CentOS, yum Arch Linux, pacman Fedora, dnf
Voit lukea tiedosto riviltä riviltä suorittamalla seuraavan koodin terminaalissasi:
while IFS= read -r line do echo "$line" done < distros.txt
Koodi lukee tiedoston riviltä, määrittää jokaisen rivin muuttujalle ja kaikuu muuttujaa. Perusteellisuus, jos näkisit saman tulosteen kuin jos näyttäisit tiedoston sisältöä kissan komennolla.
Entä jos haluat tulostaa vain jakelut, jotka käyttävät apt: tä? Yksi tapa on käyttää if-käskyä ja tarkistaa, sisältääkö rivi apt-alijono:
while IFS= read -r line do if]; then echo "$line" fi done < distros.txt
Ubuntu, apt Debian, apt
Kun luet tiedosto rivi riviltä, voit myös siirtää useita muuttujia read-komentoon, joka jakaa rivin kenttiin
IFS
. Ensimmäinen kenttä osoitetaan ensimmäiselle muuttujalle, toinen toiselle muuttujalle ja niin edelleen. Jos kenttiä on enemmän kuin muuttujia, jäännöskentät osoitetaan viimeiselle muuttujalle.
Seuraavassa esimerkissä asetamme IFS pilkuna (
,
) ja siirrämme kaksi muuttujaa
distro
ja
pm
lukukomentoon. Kaikki rivin alusta ensimmäiseen pilkkuun määritetään ensimmäiselle muuttujalle (
distro
) ja loput rivistä toiselle muuttujalle (
pm
):
while IFS=, read -r distro pm do echo "$pm" is the package manager for "$distro" done < distros.txt
apt is the package manager for Ubuntu apt is the package manager for Debian yum is the package manager for CentOS pacman is the package manager for Arch Linux dnf is the package manager for Fedora
Vaihtoehtoiset tiedostojen lukemismenetelmät
Prosessikorvauksen käyttäminen
Prosessikorvauksen avulla voit välittää tulosteen komennosta tiedostonimellä:
while IFS= read -r line do echo "$line" done < <(cat input_file)
Tässä merkkijonon käyttäminen
Here String on variantti Here-dokumentista. Merkkijono
(cat input_file)
pitää rivit:
while IFS= read -r line do echo "$line" done <<< $(cat input_file)
Tiedostonkuvauksen käyttäminen
Voit myös syöttää silmukan tiedostokuvaajalla:
while IFS= read -r -u9 line do echo "$line" done 9< input_file
Kun käsittelet tiedostokuvauksia, käytä numeroa välillä 4 - 9 välttääksesi ristiriidat kuoren sisäisten tiedostokuvausten kanssa.
johtopäätös
Bash-ohjelmassa voimme lukea tiedoston rivi riviltä tarjoamalla tiedostonimen syötteeksi jonkin aikaa luettavalle silmukalle.
bash-terminaaliBCD- tai Boot Configuration Data -tiedosto on turva-arkaluonteinen tiedosto, joka on laiteohjelmistosta riippumaton tietokanta käynnistysajan konfigurointitiedoista. BitLocker-salauksen on toimittava synkronoituna BCD-tiedoston kanssa ja se varmistaa, että tiedosto on aina käyttäjän käynnistyessä.
Käytettäessä
Kuinka helposti lukea epub-kirjoja Firefoxista
Ota selvää, kuinka voit helposti lukea EPUB-kirjoja Firefoxista.
Kuinka lukea pdf-kirjoja, chm- ja tekstitiedostoja psp: llä
Opi lukemaan PDF-kirjoja, CHM- ja tekstitiedostoja PSP: ltä.







