Поиск по сайту:

Книга — не оттиск души, но просто дозволенный отдых (Овидий).

2 мин для чтенияBash: добавить в файл

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
23 декабря 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 и добавить его в файл:

 

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, которая читает из стандартного ввода и записывает как в стандартный вывод, так и в один или несколько файлов одновременно.

Читать  10 примеров команды wget

По умолчанию команда 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.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close