Линук

Басх запис у датотеку

Басх запис у датотеку

Један од најчешћих задатака приликом писања Басх скрипти или рада на Линук командној линији је читање и писање датотека.

Овај чланак објашњава како написати текст у датотеку у Басху помоћу оператора преусмеравања и тее команда.

Записивање у датотеку помоћу оператора преусмеравања #

У Басху, преусмеравање излаза омогућава вам да снимите излаз из наредбе и запишете га у датотеку.

Општи формат за преусмеравање и писање излаза у датотеку је следећи:

излаз> име датотеке излаз >> име датотеке 

Морате имати дозволе за писање у датотеку. У супротном, добићете грешку одбијену дозволу.

Ево једноставног примера који показује како се преусмерава излаз из одјек наредба за датотеку:

ецхо "ово је линија"> датотека.ткт

Да бисте спречили преписивање постојећих датотека, омогућите опцију „ноцлоббер“ помоћу комплет уграђено:

сет -о ноцлобберецхо "ово је линија"> датотека.ткт
басх: ​​датотека.ткт: не може преписати постојећу датотеку 

Тхе > | Оператор вам омогућава да замените опцију Басх „ноцлоббер“:

сет -о ноцлобберецхо "ово је линија"> | датотека.ткт

Тхе >> оператор додаје излаз на крај датотеке, уместо да преписује датотеку:

ецхо "ово је линија" >> датотека.ткт

Користити принтф наредба за стварање сложеног излаза:

принтф "Здраво, ја сам% с.\ н "$ УСЕР> датотека.ткт

Ако желите да у датотеку упишете више редова, користите преусмеравање Хере доцумент (Хередоц).

На пример, можете проследити садржај на мачка наредбу и запишите је у датотеку:

мачка << EOF > датотека.ткт Тренутни радни директоријум је: $ ПВД Пријављени сте као $ (вхоами) ЕОФ 

Да бисте додали редове, промените > са >> пре имена датотеке:

мачка << EOF >> датотека.ткт Тренутни радни директоријум је: $ ПВД Пријављени сте као $ (вхоами) ЕОФ 

Излаз било које наредбе можете написати у датотеку:

датум + "Година:% И, Месец:% м, Дан:% д"> датотека.ткт

Излаз из датум наредба ће бити записана у датотеку.

Писање у датотеку помоћу тее Цомманд #

Тхе тее наредба чита са стандардног улаза и истовремено пише на стандардни излаз и у једну или више датотека.

ецхо "ово је линија" | тее филе.ткт

Тхе тее подразумевано понашање наредбе је да препише наведену датотеку, исто као и > оператер. Да бисте додали излаз датотеци, позовите наредбу помоћу (--додати) опција:

ецхо "ово је линија" | тее-датотека.ткт

Ако не желите тее да бисте писали на стандардни излаз, можете га преусмерити на / дев / нулл:

ецхо "ово је линија" | тее филе.ткт> / дев / нулл

Да бисте текст написали у више датотека, наведите датотеке као аргументе за тее наредба:

ецхо "ово је линија" | тее филе_1.ткт филе_2.ткт филе_3.ткт

Још једна предност тее наредба је да је можете користити заједно са судо и писати у датотеке у власништву других корисника. Да бисте додали текст датотеци у коју немате дозволу за писање, додајте судо пре него што тее:

ецхо "ово је линија" | судо тее филе.ткт

Тхе одјек Излаз наредбе се предаје као улаз у тее, што повисује дозволе за судо и записује текст у датотеку.

Закључак #

У Линуку за писање текста у датотеку користите > и >> оператери преусмеравања или тее команда.

Ако имате питања или повратне информације, слободно оставите коментар.

Топ 5 ергономских производа за рачунарски миш за Линук
Да ли дуготрајна употреба рачунара изазива бол у зглобу или прстима? Патите ли од укочених зглобова и стално морате да се рукујете? Да ли осећате гору...
Како променити поставке миша и додирне табле помоћу Ксинпут-а у Линук-у
Већина Линук дистрибуција подразумевано испоручује библиотеку „либинпут“ за обраду улазних догађаја на систему. Може да обрађује улазне догађаје и на ...
Замените тастере миша другачије за различити софтвер помоћу Кс-Моусе Буттон Цонтрол
Можда вам је потребан алат који би могао да промени контролу миша са сваком апликацијом коју користите. Ако је то случај, можете испробати апликацију ...