Linux

Bash Kirjutage faili

Bash Kirjutage faili

Üks levinumaid ülesandeid Bashi skriptide kirjutamisel või Linuxi käsureal töötamisel on failide lugemine ja kirjutamine.

Selles artiklis selgitatakse, kuidas kirjutada teksti Bashi faili, kasutades ümbersuunamisoperaatoreid ja tee käsk.

Faili kirjutamine ümbersuunamisoperaatorite abil #

Bashis võimaldab väljundi ümbersuunamine haarata käsu väljundi ja kirjutada selle faili.

Väljundi faili ümbersuunamise ja kirjutamise üldine vorming on järgmine:

väljund> failinimi väljund >> failinimi 

Teil peavad olema faili kirjutamisõigused. Vastasel juhul saate vea luba keelatud.

Siin on lihtne näide, mis näitab, kuidas kaja käsk faili:

kaja "see on rida"> fail.txt

Olemasolevate failide ülekirjutamise vältimiseks lubage valikuga „noklobber” seatud sisseehitatud:

set -o noklobarkaja "see on rida"> fail.txt
bash: fail.txt: ei saa olemasolevat faili üle kirjutada 

The > | operaator lubab teil tühistada Bashi valiku "noklobar":

set -o noklobarkaja "see on rida"> | faili.txt

The >> operaator lisab väljundi faili lõppu, selle asemel, et fail üle kirjutada:

kaja "see on rida" >> fail.txt

Kasuta printf käsk keeruka väljundi loomiseks:

printf "Tere, ma olen% s.\ n "$ USER> fail.txt

Kui soovite faili kirjutada mitu rida, kasutage ümbersuunamist siin dokumendi (Heredoc) abil.

Näiteks saate sisu edastada kass käsk ja kirjutage see faili:

kass << EOF > faili.txt Praegune töökataloog on: $ PWD Olete sisse logitud kui $ (whoami) EOF 

Ridade lisamiseks muutke > koos >> enne failinime:

kass << EOF >> fail.txt Praegune töökataloog on: $ PWD Olete sisse logitud kui $ (whoami) EOF 

Mis tahes käsu väljundi saate kirjutada faili:

kuupäev + "aasta:% Y, kuu:% m, päev:% d"> fail.txt

Väljund kuupäev käsk kirjutatakse faili.

Faili kirjutamine faili abil tee Käsk nr

The tee käsk loeb standardsisendist ja kirjutab korraga nii standardsesse väljundisse kui ka ühte või mitmesse faili.

kaja "see on rida" | tee fail.txt

The tee käsu vaikekäitumine on määratud faili ülekirjutamine, sama mis failiga > operaator. Väljundi lisamiseks failile kutsuge käsk käsuga -a (--lisama) variant:

kaja "see on rida" | tee -a fail.txt

Kui te ei soovi tee standardväljundisse kirjutamiseks saate selle ümber suunata / dev / null:

kaja "see on rida" | tee fail.txt> / dev / null

Teksti kirjutamiseks mitmesse faili määrake failid argumendina failile tee käsk:

kaja "see on rida" | tee fail_1.txt fail_2.txt fail_3.txt

Teine eelis tee käsk on, et saate seda kasutada koos sudo ja kirjutage teistele kasutajatele kuuluvatesse failidesse. Teksti lisamiseks faili, millele teil pole kirjutamisõigusi, eelista sudo enne tee:

kaja "see on rida" | sudo tee fail.txt

The kaja käsu väljund edastatakse sisendina tee, mis tõstab sudo õigusi ja kirjutab teksti faili.

Järeldus #

Linuxis saate teksti faili kirjutamiseks kasutada nuppu > ja >> ümbersuunamise operaatorid või tee käsk.

Kui teil on küsimusi või tagasisidet, jätke julgelt kommentaar.

League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...
Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...