Содержание изменения файла от терминала

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

Для предоставления примера я хочу повернуть файл /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>
0
задан 3 September 2014 в 19:53

2 ответа

Существует много способов сделать это, завися, хотите ли Вы перестроить поля на той второй строке или просто установить его на точно, что Вы хотите. Вот самый простой способ сделать это:

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>
2
ответ дан 7 October 2019 в 04:07

Вы могли использовать

echo content > file

или если это действительно статично, имейте дополнительную копию файла и CP это.

2
ответ дан 7 October 2019 в 04:07

Другие вопросы по тегам:

Похожие вопросы: