Linux

Bash Write във файл

Bash Write във файл

Една от най-често срещаните задачи при писане на Bash скриптове или работа по командния ред на Linux е четенето и писането на файлове.

Тази статия обяснява как да напишете текст във файл в Bash, като използвате операторите за пренасочване и тройник команда.

Записване във файл с помощта на оператори за пренасочване #

В Bash пренасочването на изхода ви позволява да заснемете изхода от команда и да го запишете във файл.

Общият формат за пренасочване и запис на изходни данни във файл е както следва:

изход> име на файл изход >> име на файл 

Трябва да имате разрешения за запис във файла. В противен случай ще получите грешка при отказано разрешение.

Ето един прост пример, показващ как пренасочването на изхода на ехо команда към файл:

echo "това е ред"> файл.текст

За да предотвратите презаписване на съществуващи файлове, активирайте опцията “noclobber” с комплект вграден:

set -o noclobberecho "това е ред"> файл.текст
bash: файл.txt: не може да презапише съществуващ файл 

The > | операторът ви позволява да замените опцията Bash „noclobber“:

set -o noclobberecho "това е ред"> | файл.текст

The >> оператор добавя изхода към края на файла, вместо да презаписва файла:

echo "това е ред" >> файл.текст

Използвай printf команда за създаване на сложен изход:

printf "Здравейте, аз съм% s.\ n "$ USER> файл.текст

Ако искате да напишете няколко реда във файл, използвайте пренасочването на документа Here (Heredoc).

Например можете да предадете съдържанието на котка команда и я запишете във файл:

котка << EOF > файл.txt Текущата работна директория е: $ PWD Влезли сте като $ (whoami) EOF 

За да добавите редовете, променете > с >> преди името на файла:

котка << EOF >> файл.txt Текущата работна директория е: $ PWD Влезли сте като $ (whoami) EOF 

Можете да запишете изхода на всяка команда във файл:

дата + "Година:% Y, Месец:% m, Ден:% d"> файл.текст

Резултатът от дата команда ще бъде записана във файла.

Записване във файл с помощта на тройник Команда #

The тройник команда чете от стандартния вход и записва едновременно в стандартен изход и един или повече файлове.

echo "това е линия" | тройник файл.текст

The тройник поведението по подразбиране на командата е да презапише посочения файл, същото като > оператор. За да добавите изхода към файла, извикайте командата с (--добави) опция:

echo "това е линия" | тройник-файл.текст

Ако не искате тройник за да пишете на стандартния изход, можете да го пренасочите към / dev / null:

echo "това е линия" | тройник файл.txt> / dev / null

За да напишете текста в повече от един файл, посочете файловете като аргументи на тройник команда:

echo "това е линия" | tee файл_1.txt файл_2.txt файл_3.текст

Друго предимство на тройник команда е, че можете да го използвате заедно с Судо и пишете във файлове, притежавани от други потребители. За да добавите текст към файл, за който нямате разрешения за запис, добавете Судо преди тройник:

echo "това е линия" | sudo tee файл.текст

The ехо командният изход се предава като вход към тройник, което издига разрешенията за sudo и записва текста във файла.

Заключение №

В Linux, за да напишете текст във файл, използвайте > и >> оператори за пренасочване или тройник команда.

Ако имате въпроси или отзиви, не се колебайте да оставите коментар.

Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...
Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...