🐧 Как добавить текст в конец файла в Linux

by itisgood

При работе с файлами конфигурации в Linux иногда необходимо добавить текст, например параметры конфигурации, в существующий файл.

Добавить просто означает добавить текст в конец или конец файла.

🐧 Что такое EOF (End Of File)? Примеры с PHP, C ++, C, Python, Java

В этой короткой статье вы узнаете, как добавлять текст в конец файла в Linux.

Добавить текст используя  оператор >>


Оператор >> перенаправляет вывод в файл, если файл не существует, он создается, но если он существует, вывод будет добавлен в конец файла.

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

# echo "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)" >> /etc/exports
Кроме того, вы можете использовать команду printf (не забудьте использовать символ \n для добавления следующей строки).
# printf "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)\n" >> /etc/exports

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

В следующем примере дополнительные общие ресурсы файловой системы, которые будут добавлены в файл конфигурации /etc/exports, добавляются в текстовый файл shares.txt.

# cat /etc/exports
# cat shares.txt
# cat shares.txt >>  /etc/exports
# cat /etc/exports

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

# cat /etc/exports
# cat >>/etc/exports<s<EOF
> /backups 10.20.20.0/24(rw,sync)
> /mnt/nfs_all 10.20.20.5(rw,sync)
> EOF
# cat /etc/exports

Внимание: не путайте оператор перенаправления> >> и > , который удалить содержимое этого файла, а затем перезапишет его. Это может привести к потере данных.

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

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

Вы можете использовать его флаг -a, чтобы добавить текст в конец файла, как показано на примере ниже

# echo "/mnt/pg_master/wal_archives     10.20.20.5(rw,sync,no_root_squash)" | tee -a /etc/exports
или
# cat shares.txt | tee -a /etc/exports
Вы также можете использовать здесь тот маневр командой tee.
# cat <<EOF | tee -a /etc/exports
>/backups 10.20.20.0/24(rw,sync)
>/mnt/nfs_all 10.20.20.5(rw,sync)
EOF

 

You may also like

Leave a Comment