Linux

Bash записать в файл

Bash записать в файл

Одна из наиболее распространенных задач при написании сценариев Bash или работе в командной строке Linux - это чтение и запись файлов.

В этой статье объясняется, как записать текст в файл в Bash, используя операторы перенаправления и тройник команда.

Запись в файл с использованием операторов перенаправления #

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

Общий формат перенаправления и записи вывода в файл следующий:

вывод> имя файла вывод >> имя файла 

У вас должны быть права на запись в файл. В противном случае вы получите сообщение об ошибке в разрешении отказано.

Вот простой пример, показывающий, как перенаправить вывод эхо команду в файл:

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

Чтобы предотвратить перезапись существующих файлов, включите опцию «noclobber» с помощью набор встроенный:

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

В > | Оператор позволяет вам переопределить параметр Bash «noclobber»:

установить -o noclobberecho "это строка"> | файл.текст

В >> оператор добавляет вывод в конец файла, а не перезаписывает файл:

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

Использовать printf команда для создания сложного вывода:

printf "Привет, я% s.\ n "$ USER> файл.текст

Если вы хотите записать несколько строк в файл, используйте перенаправление документа Here (Heredoc).

Например, вы можете передать контент в Кот команду и запишите ее в файл:

Кот << EOF > файл.txt Текущий рабочий каталог: $ PWD Вы вошли в систему как $ (whoami) EOF 

Чтобы добавить строки, измените > с участием >> перед именем файла:

Кот << EOF >> файл.txt Текущий рабочий каталог: $ PWD Вы вошли в систему как $ (whoami) EOF 

Вы можете записать вывод любой команды в файл:

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

Выход Дата команда будет записана в файл.

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

В тройник команда читает из стандартного ввода и записывает как в стандартный вывод, так и в один или несколько файлов одновременно.

эхо "это линия" | тройник.текст

В тройник по умолчанию команда перезаписывает указанный файл, как и > оператор. Чтобы добавить вывод в файл, вызовите команду с (--добавить) вариант:

эхо "это линия" | tee -a файл.текст

Если ты не хочешь тройник для записи на стандартный вывод вы можете перенаправить его на / dev / null:

эхо "это линия" | тройник.txt> / dev / null

Чтобы записать текст в несколько файлов, укажите файлы в качестве аргументов для тройник команда:

эхо "это линия" | тройник file_1.txt file_2.txt file_3.текст

Еще одно преимущество тройник команда заключается в том, что вы можете использовать ее вместе с судо и писать в файлы, принадлежащие другим пользователям. Чтобы добавить текст в файл, в который у вас нет прав на запись, добавьте судо перед тройник:

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

В эхо вывод команды передается как ввод в тройник, который повышает разрешения sudo и записывает текст в файл.

Заключение #

В Linux для записи текста в файл используйте > а также >> операторы перенаправления или тройник команда.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...
Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...