Android

Bash: liitä tiedostoon

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Customizing Cloud9 and the CS50 IDE by Dan Armendariz

Sisällysluettelo:

Anonim

Bash-versiossa on useita tapoja lisätä tekstiä tiedostoon. Tämä artikkeli selittää joitain niistä.

Jos haluat lisätä tekstiä tiedostoon, sinulla on oltava siihen kirjoitusoikeudet. Muutoin saat luvan, jonka epääminen on virhe.

Liitä tiedosto uudelleenohjausoperaattorin avulla ( >> )

Uudelleenohjaus antaa sinun kaapata tulosteen komennosta ja lähettää sen tulona toiseen komentoon tai tiedostoon. >> uudelleenohjausoperaattori lisää tulosteen annettuun tiedostoon.

On olemassa useita komentoja, joiden avulla voit tulostaa tekstiä vakiotulosteeseen ja ohjata sen uudelleen tiedostoon, echo ja printf ovat eniten käytettyjä.

Jos haluat lisätä tekstin tiedostoon, määritä tiedoston nimi uudelleenohjauksen jälkeen:

echo "this is a new line" >> file.txt

Kun echo komentoa käytetään -e vaihtoehdon kanssa, se tulkitsee alaviivalla paennetut merkit, kuten uuden rivin. :

echo -e "this is a new line \nthis is another new line" >> file.txt

Jos haluat tuottaa monimutkaisemman tulosteen, käytä printf komentoa, jonka avulla voit määrittää tulosteen muotoilun:

printf "Hello, I'm %s.\n" $USER >> file.txt

Toinen tapa lisätä tekstiä tiedostoon on käyttää Here-asiakirjaa (Heredoc). Se on eräänlainen uudelleenohjaus, jonka avulla voit siirtää useita syöttöriviä komennolle.

Voit esimerkiksi siirtää sisällön kissakomennolle ja liittää sen tiedostoon:

cat «EOF» file.txt Nykyinen työhakemisto on: $ PWD Olet kirjautunut sisään nimellä: $ (whoami) EOF

Voit lisätä minkä tahansa komennon tulosteen tiedostoon. Tässä on esimerkki date :

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

Kun lisäät tiedostoa uudelleenohjauksella, ole varovainen, ettet käytä > operaattoria tärkeän olemassa olevan tiedoston korvaamiseen.

Liitä tiedostoon tee komennolla

tee on Linuxissa komentoriviohjelma, joka lukee vakiotulosta ja kirjoittaa sekä vakiotulosteelle että yhdelle tai useammalle tiedostolle samanaikaisesti.

tee komento korvaa oletusarvoisesti määritetyn tiedoston. Jos haluat lisätä tulosteen tiedostoon, käytä --append -vaihtoehdolla -a ( --append ):

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

tee komennon käytön etuna >> -operaattoriin verrattuna on, että tee antaa sinun lisätä tekstiä useampaan tiedostoon kerralla ja kirjoittaa muiden käyttäjien omistamiin tiedostoihin sudo .

Liitä teksti tiedostoon, johon sinulla ei ole kirjoitusoikeuksia, lisää sudo ennen tee seuraavan kuvan mukaisesti:

echo "this is a new line" | sudo tee -a file.txt

tee vastaanottaa tee tulosteen, korottaa sudo-oikeudet ja kirjoittaa tiedostoon.

Jos haluat lisätä tekstin useampaan kuin yhteen tiedostoon, määritä tiedostot argumentiksi tee komentoon:

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

johtopäätös

Jos haluat lisätä tekstiä tiedostoon Linuxissa, käytä >> uudelleenohjausoperaattoria tai tee komentoa Linuxissa.

bash terminaali