Поиск по сайту:
Природа и боги сумасбродствуют не менее людей (Б. Спиноза).

Bash: добавить в файл

23.12.2019
Как создать псевдонимы Bash

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

Чтобы добавить текст в файл, вам необходимо иметь права на запись в него. В противном случае вы получите ошибку «permission denied».

 

Перенаправление позволяет вам захватывать выходные данные из команды и отправлять их в качестве входных данных для другой команды или файла. Оператор перенаправления >> добавляет вывод к данному файлу.

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

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

echo "это новая строка" >> file.txt

 

При использовании с параметром -e команда echo интерпретирует символы с обратной косой чертой, такие как символ новой строки \n:

echo -e "это новая строка \nэто еще одна новая строка" >> file.txt

 

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

printf "Hello, I'm %s.\n" $USER >> file.txt

 

Другой способ добавить текст в файл — использовать документ Here (Heredoc). Это тип перенаправления, который позволяет передавать несколько строк ввода в команду.

Например, вы можете передать содержимое команде cat и добавить его в файл:

Читать  OpenPaX: новый патч с открытым исходным кодом для повышения безопасности Linux

 

cat « EOF » file.txt The current working directory is: $PWD You are logged in as: $(whoami) EOF

 

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

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

 

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

 

Команда tee утилита командной строки в Linux, которая читает из стандартного ввода и записывает как в стандартный вывод, так и в один или несколько файлов одновременно.

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

echo "это новая строка"  | tee -a file.txt

 

Если вы не хотите tee использовать в стандартном выводе, перенаправьте его на /dev/null:

echo "это новая строка"  | tee -a file.txt >/dev/null

 

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

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

echo "это новая строка" | sudo tee -a file.txt

 

Читать  kubectl apply vs create. Какую команду использовать для создания ресурсов в кластерной среде Kubernetes?

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

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

echo "это новая строка"  | tee -a file1.txt file2.txt file3.txt

 

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Это продолжение статьи 5 обязательных вещей, чтобы улучшить SEO в…

Спасибо!

Теперь редакторы в курсе.