„Linux“

Rašyti į failą

Rašyti į failą

Viena iš dažniausiai pasitaikančių užduočių rašant „Bash“ scenarijus ar dirbant „Linux“ komandinėje eilutėje yra failų skaitymas ir rašymas.

Šiame straipsnyje paaiškinta, kaip rašyti tekstą į failą „Bash“, naudojant peradresavimo operatorius ir tee komandą.

Rašymas į failą naudojant peradresavimo operatorius #

Programoje „Bash“ išvesties peradresavimas leidžia užfiksuoti komandos išvestį ir įrašyti ją į failą.

Bendras išvesties nukreipimo ir įrašymo į failą formatas yra toks:

išvestis> failo išvestis >> failo vardas 

Turite turėti failo rašymo teises. Kitu atveju gausite atsisakymo suteikti leidimą klaidą.

Čia yra paprastas pavyzdys, parodantis, kaip peradresuoti aidas komanda į failą:

echo "this is a line"> failas.txt

Norėdami išvengti esamų failų perrašymo, įjunkite parinktį „nokloberis“ rinkinys pastatytas:

rinkinys -o noklobistasecho "this is a line"> failas.txt
bash: failas.txt: negalima perrašyti esamo failo 

The > | operatorius leidžia nepaisyti parinkties „Nashlobber“ „Bash“:

rinkinys -o noklobistasaidas "tai yra eilutė"> | failą.txt

The >> operatorius prideda išvestį prie failo pabaigos, o ne perrašo failą:

echo „tai yra eilutė“ >> failas.txt

Naudoti printf komanda sukurti sudėtingą išvestį:

printf "Sveiki, aš% s.\ n "$ USER> failas.txt

Jei norite į failą įrašyti kelias eilutes, naudokite „Here document“ („Heredoc“) peradresavimą.

Pvz., Galite perduoti turinį katė komandą ir užrašykite ją į failą:

katė << EOF > failą.txt Dabartinis darbo katalogas yra: $ PWD Jūs esate prisijungę kaip $ (whoami) EOF 

Norėdami pridėti eilučių, pakeiskite > su >> prieš failo pavadinimą:

katė << EOF >> failas.txt Dabartinis darbo katalogas yra: $ PWD Jūs esate prisijungę kaip $ (whoami) EOF 

Bet kurios komandos išvestį galite įrašyti į failą:

data + "Metai:% Y, Mėnuo:% m, Diena:% d"> failas.txt

Išvestis data komanda bus įrašyta į failą.

Rašymas į failą naudojant tee Komanda Nr

The tee komanda nuskaito iš standartinės įvesties ir vienu metu rašo tiek į standartinę išvestį, tiek į vieną ar daugiau failų.

aidas "tai yra linija" | tee failas.txt

The tee Numatytasis komandos elgesys yra perrašyti nurodytą failą, kaip ir > operatorius. Norėdami pridėti išvestį prie failo, iškvieskite komandą naudodami -a (--pridėti) variantas:

aidas "tai yra linija" | tee -a byla.txt

Jei nenorite tee norėdami rašyti į standartinę išvestį, galite ją peradresuoti / dev / null:

aidas "tai yra linija" | tee failas.txt> / dev / null

Norėdami parašyti tekstą į daugiau nei vieną failą, nurodykite failus kaip argumentus prie tee komanda:

aidas "tai yra linija" | tee file_1.txt failas_2.txt failas_3.txt

Dar vienas privalumas tee komanda yra tai, kad galite jį naudoti kartu su sudo ir rašyti į failus, priklausančius kitiems vartotojams. Jei norite pridėti tekstą prie failo, kuriam neturite rašymo leidimų, iš anksto nurodykite sudo prieš tai tee:

aidas "tai yra linija" | sudo tee failas.txt

The aidas komandos išvestis perduodama kaip įvestis į tee, kuris padidina sudo teises ir įrašo tekstą į failą.

Išvada Nr

Jei naudojate „Linux“, norėdami rašyti tekstą į failą, naudokite > ir >> peradresavimo operatoriai arba tee komandą.

Jei turite klausimų ar atsiliepimų, palikite komentarą.

„Tomb Raider for Linux“ pamoka
„Tomb Raider“ šešėlis yra dvyliktas „Tomb Raider“ serijos priedas - veiksmo ir nuotykių žaidimų franšizė, sukurta „Eidos Montreal“. Žaidimą kritikai i...
Kaip padidinti FPS sistemoje „Linux“?
FPS reiškia Kadrai per sekundę. FPS užduotis yra išmatuoti kadrų greitį atkuriant vaizdo įrašus ar žaidimus. Paprastais žodžiais, nepertraukiamų viso ...
Populiariausi „Oculus App Lab“ žaidimai
Jei esate „Oculus“ laisvų rankų įrangos savininkas, turite žinoti, kaip krauti iš šono. Šoninis įkėlimas yra ne parduotuvėje esančio turinio įdiegimas...