ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

Как создать псевдонимы 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 и добавить его в файл:

 

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

 

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

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

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

 

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

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

Exit mobile version