Linux

Bash zapisivanje u datoteku

Bash zapisivanje u datoteku

Jedan od najčešćih zadataka prilikom pisanja Bash skripti ili rada na Linux naredbenom retku je čitanje i pisanje datoteka.

Ovaj članak objašnjava kako napisati tekst u datoteku u Bashu pomoću operatora preusmjeravanja i tee naredba.

Zapisivanje u datoteku pomoću operatora preusmjeravanja #

U Bashu, preusmjeravanje rezultata omogućuje vam hvatanje rezultata iz naredbe i zapisivanje u datoteku.

Općeniti format za preusmjeravanje i upisivanje rezultata u datoteku je sljedeći:

izlaz> ime datoteke izlaz >> ime datoteke 

Morate imati dozvolu za pisanje u datoteku. U suprotnom, dobit ćete pogrešku odbijenu dozvolu.

Evo jednostavnog primjera koji pokazuje kako se preusmjerava izlaz iz jeka naredba u datoteku:

echo "ovo je linija"> datoteka.txt

Da biste spriječili prepisivanje postojećih datoteka, omogućite opciju "noclobber" pomoću postavljen ugrađeno:

set -o noclobberecho "ovo je linija"> datoteka.txt
bash: datoteka.txt: ne može prebrisati postojeću datoteku 

The > | Operator vam omogućuje da poništite opciju Bash "noclobber":

set -o noclobberecho "ovo je linija"> | datoteka.txt

The >> operator dodaje izlaz na kraj datoteke, umjesto da prepiše datoteku:

echo "ovo je linija" >> datoteka.txt

Koristiti printf naredba za stvaranje složenog izlaza:

printf "Zdravo, ja sam% s.\ n "$ USER> datoteka.txt

Ako želite zapisati više redaka u datoteku, upotrijebite preusmjeravanje Here document (Heredoc).

Na primjer, možete proslijediti sadržaj na mačka naredbu i zapišite je u datoteku:

mačka << EOF > datoteka.txt Trenutni radni direktorij je: $ PWD Prijavljeni ste kao $ (whoami) EOF 

Da biste dodali retke, promijenite > s >> prije naziva datoteke:

mačka << EOF >> datoteka.txt Trenutni radni direktorij je: $ PWD Prijavljeni ste kao $ (whoami) EOF 

Izlaz bilo koje naredbe možete napisati u datoteku:

datum + "Godina:% Y, Mjesec:% m, Dan:% d"> datoteka.txt

Rezultat datum naredba će biti zapisana u datoteku.

Zapisivanje u datoteku pomoću tee Naredba #

The tee naredba čita sa standardnog ulaza i istovremeno piše na standardni izlaz i u jednu ili više datoteka.

echo "ovo je crta" | čajna datoteka.txt

The tee Zadano ponašanje naredbe je prebrisati navedenu datoteku, isto kao i > operater. Da biste dodali izlaz datoteci, pozovite naredbu s -a (--dodati) opcija:

echo "ovo je crta" | tee-spis.txt

Ako ne želite tee da biste pisali na standardni izlaz, možete ga preusmjeriti na / dev / null:

echo "ovo je crta" | čajna datoteka.txt> / dev / null

Da biste tekst napisali u više datoteka, navedite datoteke kao argumente za tee naredba:

echo "ovo je crta" | tee datoteka_1.txt datoteka_2.txt datoteka_3.txt

Još jedna prednost tee naredba je da ga možete koristiti zajedno s sudo i pisati u datoteke u vlasništvu drugih korisnika. Da biste dodali tekst datoteci u koju nemate dozvolu za pisanje, dodajte sudo prije tee:

echo "ovo je crta" | datoteka sudo tee.txt

The jeka Izlaz naredbe se predaje kao ulaz u tee, što povisuje dozvole za sudo i zapisuje tekst u datoteku.

Zaključak #

U Linuxu za pisanje teksta u datoteku koristite > i >> operateri preusmjeravanja ili tee naredba.

Ako imate pitanja ili povratne informacije, slobodno ostavite komentar.

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...