Как я могу изменить содержание файла от терминала? Я не хочу использовать любое приложение как текстовый редактор, так как я хочу использовать его для сценария.
Для предоставления примера я хочу повернуть файл /etc/apache2/mods-enabled/dir.conf
от этого
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
к этому
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
Существует много способов сделать это, завися, хотите ли Вы перестроить поля на той второй строке или просто установить его на точно, что Вы хотите. Вот самый простой способ сделать это:
sed -i.bak -e 's/DirectoryIndex.*/DirectoryIndex index.php/' dir.conf
Это изменится DirectoryIndex
строка, включая все после того слова, к DirectoryIndex index.php
. Эти -i.bak
сохраняет резервную копию исходного файла в dir.conf.bak
. После выполнения этого мы имеем:
$ cat dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php
</IfModule>
$ cat dir.conf.bak
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Вы могли использовать
echo content > file
или если это действительно статично, имейте дополнительную копию файла и CP это.