Android

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

ну где же ты любовь моя прекрасное исполнение

ну где же ты любовь моя прекрасное исполнение

Оглавление:

Anonim

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

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

Добавить в файл с помощью оператора перенаправления ( >> )

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

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

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

echo "this is a new line" >> file.txt

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

echo -e "this is a new line \nthis is another new line" >> file.txt

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

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

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

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

cat «EOF» file.txt Текущий рабочий каталог: $ PWD Вы вошли как: $ (whoami) EOF

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

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

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

Добавить в файл с помощью команды tee

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

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

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

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

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

echo "this is a new line" | sudo tee -a file.txt

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

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

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

Вывод

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

терминал bash