On useita tapoja lukea ja kirjoittaa tiedosto bashissa. Yksinkertaisin tapa on käyttää operaattoreita “>” ja “>>”.
- “>” -Operaattori korvaa olemassa olevat tiedot
- Operaattori “>>” lisää tiedot
Uudelleenohjausoperaattoreiden yleinen muoto on:
Tiedot> TiedostonimiTiedot >> Tiedostonimi
Ymmärretään kirjoittaminen tiedostoon -prosessi esimerkillä:
Kuinka kirjoittaa tiedosto uudelleenohjausoperaattoreiden avulla
Kuten edellä keskusteltiin, yksinkertainen ja yksinkertainen tapa kirjoittaa tiedostoon käyttää uudelleenohjausoperaattoreita. Esimerkiksi, jos haluat muuttaa jo olemassa olevan tiedoston tekstiä, luo ensin tekstitiedosto nimellä "testitiedosto.txt”Ja kirjoita siihen mitään:
Tallenna tekstitiedosto.
Kirjoita alla mainittu komento päätelaitteeseen:
$ echo “Tiedostossa olevan tekstin korvaaminen”> testitiedosto.txt
Vääntyminen voi olla vaarallista; siksi on hyvä käytäntö sallia "noklobber". Noclobber-asetuksen asettaminen estäisi kaikki korvaavat tiedostot poistuvista tiedostoista.
$ set -o noklobber$ echo “Tiedostossa olevan tekstin korvaaminen”> testitiedosto.txt
Mutta jos haluat ohittaa ”noklobberin”, käytä> |”Operaattori>”:
$ echo "Tiedoston olemassa olevan tekstin korvaaminen"> | testitiedosto.txtTai voit yksinkertaisesti poistaa "noklobberin" käytöstä:
$ set + o noklobber
Mutta tämä komento poistaa suojauksen kaikista tiedostoista.
Yllä oleva tulos osoittaa, että nykyinen teksti on korvattu. Käytetään nyt>>”Operaattori:
$ echo “Tekstin lisääminen olemassa olevaan tekstitiedostoon” >> testitiedosto.txt
"kaiku”Ei ole aina ihanteellinen käytettäväksi, koska et voi muotoilla tekstiä sillä, joten muotoile teksti käyttämällä” printf ”” kaikun ”sijasta seuraavan komennon mukaisesti:
$ printf “Tervetuloa \ n Tämä on uusi tekstitiedosto.”> Newtestfile.txt
Ymmärretään käsite bash-komentosarjaesimerkillä. Avaa Vim kirjoittamalla päätelaitteeseen ”vim”. Jos laitteellasi ei ole Vim-editoria, asenna se seuraavilla tavoilla:
$ sudo apt install vimKirjoita komentosarja:
#! / bin / bashkaiku "Kirjoita nimesi"
lue nimi
echo $ nimi> data_hakemisto.txt
kaiku "Anna ikäsi"
lukea ikä
echo $ age >> data_hakemisto.txt
cat data_dir.txt
"kissa”-Komentoa käytetään tiedostojen luomiseen ja muokkaamiseen. Tallenna yllä oleva komentosarja Vimiin vaihtamalla tilaa painettuasi “poistu”-Näppäin ja kirjoita sitten”: w myscript.sh”. Avaa pääte ja suorita koodi:
Kuinka kirjoittaa tiedosto Heredocin avulla
Jos haluat kirjoittaa useita rivejä, helpoin tapa on käyttää “Heredocia”. Tässä asiakirja, joka tunnetaan myös nimellä "Heredoc", on monikäyttöinen koodilohko. Heredocin syntakse on:
Komento <<[-] Delimiter.
teksti / komennot
.
Erotin
Mitä tahansa merkkijonoa voidaan käyttää "erotin" -kohdan sijainnissa, ja "-" -merkillä voidaan myös poistaa kaikki välilehden välit tiedostosta. Ymmärretään se yksinkertaisen esimerkin avulla:
#! / bin / bashkissa << TEXTFILE
Tämä on tekstitiedosto.
Tämä tiedosto on luotu heredocilla.
TEKSTI
Yllä oleva komento "cat" -komento luo tekstitiedoston nimellä "TEXTFILE" ja kirjoittaa tekstiä juuri luotuun tiedostoon. Tallenna tiedosto nyt nimellämyscript.sh”. Käynnistä pääte ja suorita komentosarja.
Kuinka kirjoittaa tiedosto Tee-komennolla
Toinen tapa kirjoittaa tiedosto on Tee-komento. Tämän komennon osoittava nimi vie syötteen ja kirjoittaa tiedostoon ja näyttää tuloksen samanaikaisesti. Oletusarvoisesti Tee-komento korvaa olemassa olevat tiedot.
$ echo "Tämä on tekstiä" | tee-tekstitiedosto.txt
Liitä käyttö -a:
$ echo "Tämä on toinen teksti" | tee - tekstitiedosto.txt
Voit kirjoittaa useita rivejä seuraavasti:
$ echo "Tekstin lisääminen useisiin tiedostoihin" | tee-tekstitiedosto 1.txt textfile2.txt-tekstitiedosto 3.txt
Yllä oleva komento luo kolme tiedostoa, jos niitä ei ole, ja kirjoittaa tekstin kullekin niistä.
Johtopäätös
Tässä oppaassa keskitytään useisiin tapoihin kirjoittaa bash-tiedostoon esimerkkejä. Bash-komentosarjoissa on useita tapoja kirjoittaa tiedosto, mutta yksinkertaisin tapa on käyttää uudelleenohjausoperaattoreita “>”, “>>”. Useiden rivien kirjoittamiseen voidaan käyttää “heredoc”, ja jos haluat kirjoittaa samat tiedot usealle riville, tee-komento on melko kätevä.