Програмування BASH

Як записати у файл у Bash

Як записати у файл у Bash
Одне з найважливіших завдань, яке ми робимо під час роботи з bash-сценаріями, - це читання та запис файлів. У цьому посібнику ми зупинимось на тому, як читати файли в bash та як їх редагувати.

Існує кілька способів читати та писати файл у bash. Найпростіший спосіб - використовувати оператори “>” та “>>”.

Загальним форматом використання операторів перенаправлення є:

Дані> Назва файлу
Дані >> Назва файлу

Давайте розберемося із процедурою запису у файл на прикладі:

Як написати файл за допомогою операторів переспрямування

Як обговорювалося вище, простий і зрозумілий підхід до запису у файл використовує оператори перенаправлення. Наприклад, якщо ви хочете змінити текст уже існуючого файлу, спершу створіть текстовий файл з ім'ям “тестовий файл.txtІ напишіть у ньому що-небудь:

Збережіть текстовий файл.

Введіть згадану нижче команду в терміналі:

$ echo “Перезапис існуючого тексту у файлі”> тестовий файл.txt

Надмірне віджимання може бути ризикованим; отже, гарною практикою є ввімкнення "noclobber". Встановлення “noclobber” заблокує будь-який перезапис будь-якого вихідного файлу.

$ set -o noclobber
$ echo “Перезапис існуючого тексту у файлі”> тестовий файл.txt

Але якщо ви хочете обійти “noclobber”, використовуйте “> |”Оператор замість“>”:

$ echo “Перезапис існуючого тексту у файлі”> | тестовий файл.txt

Або ви можете просто відключити “noclobber”:

$ set + o noclobber

Але ця команда позбавить захисту всіх файлів.

Наведений вище результат свідчить про те, що існуючий текст було перезаписано. Тепер давайте використаємо “>>”Оператор:

$ echo “Додавання тексту до існуючого текстового файлу” >> тестовий файл.txt

відлуння"Не завжди ідеально підходить для використання, оскільки ви не можете форматувати текст, використовуючи його, тому використовуйте" printf "замість" echo "для форматування тексту, як показано в такій команді:

$ printf “Ласкаво просимо \ n Це новий текстовий файл.”> Newtestfile.txt

Давайте розберемося в концепції на прикладі сценарію bash. Відкрийте Vim, набравши в терміналі “vim”. Якщо на вашому пристрої немає редактора Vim, встановіть його за допомогою:

$ sudo apt встановити vim

Введіть сценарій:

#! / bin / bash
echo “Введи своє ім’я”
прочитане ім'я
echo $ name> data_dir.txt
ехо “Введіть свій вік”
прочитаний вік
echo $ age >> data_dir.txt
cat data_dir.txt

кішкаКоманда ”використовується для створення та редагування файлів. Збережіть вищезазначений сценарій у Vim, переключивши режим після натискання кнопки “вихідКлавішу, а потім введіть “: w myscript.ш". Відкрийте термінал і запустіть код:

Як написати файл за допомогою Heredoc

Якщо ви хочете написати кілька рядків, то найпростішим методом є використання “Heredoc”. Тут документ, також відомий як "Heredoc", є багатофункціональним кодовим блоком. Синтаксис Heredoc:

Команда <<[-] Delimiter
.
текст / команди
.

Розділювач

Будь-який рядок можна використовувати замість “Розділювач”, а “-” також можна використовувати для видалення будь-яких пробілів табуляції у файлі. Давайте зрозуміємо це на простому прикладі:

#! / bin / bash
кішка << TEXTFILE
Це текстовий файл.
Цей файл створений за допомогою heredoc.
ТЕКСТИФ

Наведена вище команда "кішка" сценарію створює текстовий файл з назвою "TEXTFILE" і записує текст у щойно створений файл. Тепер збережіть файл за назвою “таємниця.ш". Запустіть термінал і запустіть скрипт.

Як написати файл за допомогою команди Tee

Іншим способом написання файлу є використання команди “Tee”. В якості імені, що вказує, ця команда бере вхід, записує у файл і одночасно відображає вихід. За замовчуванням команда “Tee” замінить наявні дані.

$ echo “Це якийсь текст” | текстовий файл трійника.txt

Щоб додати використання -a:

$ echo “Це інший текст” | трійник - текстовий файл.txt

Щоб написати кілька рядків, використовуйте:

$ echo “Додавання тексту до декількох файлів” | текстовий файл трійника1.txt текстовий файл2.txt текстовий файл3.txt

Вищенаведена команда створить три файли, якщо вони не існують, і напише текст до кожного з них.

Висновок

Цей посібник зосереджений на декількох підходах для запису у файл у bash з прикладами. У скриптах bash існує кілька способів написати файл, але найпростіший - використання операторів перенаправлення “>”, “>>”. Для написання декількох рядків можна використовувати “heredoc”, і якщо ви хочете записати однакові дані в кілька рядків, тоді команда “tee” дуже зручна.

Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...