Как вставить комментарий к определенному номеру строки переменной с помощью команды sed?

Для этого следует использовать ротацию журнала . В большинстве дистрибутивов logrotateработает ежедневно (по крайней мере ), и многие пакеты добавляют свои журналы в конфигурацию logrotate.

В качестве примера возьмем error.log, если вы видите файлы в том же каталоге, что и

  • error.log.1
  • error.log.2.gz
  • error.log.3.gz

значит ротация журналов уже запущена. Текущий файл по-прежнему error.log, первый поворот — error.log.1, а последующие повороты сжимаются для экономии места.

Чтобы проверить, работает ли logrotate, найдите сценарий /etc/cron.daily/logrotate-, который указывает cronзапускать logrotateежедневно. (Вы можете делать это каждый час, если хотите. Некоторые дистрибутивы имеют другой путь, см. ссылку ниже.)

Чтобы убедиться, что logrotateротирует определенный журнал, найдите файлы конфигурации в /etc/logrotate.d/. Если журналов httpd нет, просмотрите один из существующих файлов в качестве примера или изучите man logrotate.

Дополнительная информация:Общие сведения об утилите logrotate

(Ротация журналов не является полным ответом, если у вас так много сообщений, что выход за один день или один час неуправляем.)

0
02.07.2019, 12:45
1 ответ

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

 sed -i "${line_number}"'s/^/#/' file.txt

Вам не нужен &. Это означает вставить целое совпадение, которое пусто.

0
28.01.2020, 03:30

Теги

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