Kuinka kirjoittaa tiedostoon Bashissa

How Write File Bash



Yksi keskeisistä tehtävistä, joita teemme työskennellessämme bash -komentosarjojen kanssa, on tiedostojen lukeminen ja kirjoittaminen. Tässä oppaassa keskitymme tiedostojen lukemiseen bash -muodossa ja niiden muokkaamiseen.

On useita tapoja lukea ja kirjoittaa tiedosto bash -muodossa. Yksinkertaisin tapa on käyttää operaattoreita> ja >>.







  • > operaattori korvaa olemassa olevat tiedot
  • >> operaattori liittää tiedot

Yleinen uudelleenohjausoperaattorien käyttömuoto on:



Tiedot> Tiedostonimi
Tiedot >> Tiedostonimi

Ymmärrämme tiedostoon kirjoittamisen esimerkin avulla:



Tiedoston kirjoittaminen uudelleenohjausoperaattoreiden avulla

Kuten edellä keskusteltiin, yksinkertainen ja suoraviivainen tapa kirjoittaa tiedostoon on uudelleenohjausoperaattoreita. Jos esimerkiksi haluat muuttaa jo olemassa olevan tiedoston tekstiä, luo ensin tekstitiedosto nimellä testfile.txt ja kirjoita siihen mitä tahansa:





Tallenna tekstitiedosto.



Kirjoita päätelaitteeseen alla mainittu komento:

$ echo Korvaa tiedoston nykyisen tekstin> testfile.txt

Ylikuormitus voi olla riskialtista; siksi on hyvä käytäntö ottaa noclobber käyttöön. Noclobberin asettaminen estäisi kaiken päällekirjoituksen mihin tahansa poistuvaan tiedostoon.

$ set –o noclobber
$ echo Korvaa tiedoston nykyisen tekstin> testfile.txt

Mutta jos haluat ohittaa noclobberin, käytä > | operaattori sen sijaan > :

$ echo Korvaa tiedoston nykyisen tekstin> | testfile.txt

Tai voit yksinkertaisesti poistaa noclobberin käytöstä:

$ set + tai noclobber

Mutta tämä komento poistaa suojan kaikista tiedostoista.

Yllä oleva tulos osoittaa, että olemassa oleva teksti on korvattu. Käytämme nyt >> operaattori:

$ echo Tekstin lisääminen olemassa olevaan tekstitiedostoon >> testfile.txt

heitti pois ei ole aina ihanteellinen käytettäväksi, koska et voi muotoilla tekstiä sen avulla, joten käytä printf: tä kaiku -tekstin muotoilussa seuraavan komennon mukaisesti:

$ printf Tervetuloa n Tämä on uusi tekstitiedosto. > newtestfile.txt

Ymmärrämme käsitteen bash -skriptiesimerkin avulla. Avaa Vim kirjoittamalla vim terminaaliin. Jos laitteessasi ei ole Vim -editoria, asenna se seuraavasti:

$ sudo apt install vim

Kirjoita skripti:

#! /bin/bash
echo Kirjoita nimesi
lue nimi
echo $ name> data_dir.txt
echo Anna ikäsi
lue ikä
echo $ age >> data_dir.txt
kissa data_dir.txt

The kissa komentoa käytetään tiedostojen luomiseen ja muokkaamiseen. Tallenna yllä oleva komentosarja Vimiin vaihtamalla tilaa, kun olet painanut poistu näppäintä ja kirjoita sitten : myscript.sh -tiedostossa . 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 syntaksi on:

Komento<<[-] Delimiter
.
tekstiä/komentoja
.

Erotin

Erotinta voidaan käyttää mitä tahansa merkkijonoa, ja - voidaan myös poistaa kaikki välilehdet tiedostosta. Ymmärrämme sen yksinkertaisen esimerkin avulla:

#! /bin/bash

kissa<< TEXTFILE
Tämä on tekstitiedosto.
Tämä tiedosto on luotu heredocilla.
TEKSTITIEDOSTO

Yllä oleva script cat -komento luo tekstitiedoston TEXTFILE -nimellä ja kirjoittaa tekstiä juuri luotuun tiedostoon. Tallenna tiedosto nyt nimellä myscript.sh . Käynnistä terminaali ja suorita komentosarja.

Tiedoston kirjoittaminen Tee -komennolla

Toinen tapa kirjoittaa tiedosto on Tee -komento. Nimi ilmaisee tämän komennon syötteen ja kirjoittaa tiedostoon ja näyttää tuloksen samanaikaisesti. Oletuksena Tee -komento korvaa olemassa olevat tiedot.

$ echo Tämä on teksti | tee textfile.txt

Liitä käyttö - a:

$ echo Tämä on toinen teksti | tee - tekstitiedosto.txt

Jos haluat kirjoittaa useita rivejä, käytä:

$ echo Tekstin lisääminen useisiin tiedostoihin | tee tekstitiedosto1.txt tekstitiedosto2.txt tekstitiedosto3.txt

Yllä oleva komento luo kolme tiedostoa, jos niitä ei ole, ja kirjoittaa tekstiä kullekin niistä.

Johtopäätös

Tämä opas keskittyy useisiin lähestymistapoihin, joilla kirjoitetaan tiedostoon bash -muodossa esimerkkien avulla. Bash -komentosarjoissa on useita tapoja kirjoittaa tiedosto, mutta yksinkertaisin on käyttää uudelleenohjausoperaattoreita>, >>. Useiden rivien kirjoittamiseen voidaan käyttää heredocia, ja jos haluat kirjoittaa samat tiedot useille riveille, tee -komento on varsin kätevä.