Где опция -i в sed хранит строки, соответствующие регулярному выражению?

Я пытаюсь освободить место на hd сервера, поэтому я сопоставляю старые даты в файле журнала с sed, и он уменьшается, но мой корневой раздел теперь использует 98% процентов его пространства вместо 91%, который он использовал, прежде чем я вызову СЕПГ. Я сделал это sed -i '/^Jan/ d' file.log и мой файл журнала уменьшен с 6G до 400M. Я использую find / -size +1G пытаясь найти временный файл или что-то в этом роде, но он не соответствует новым файлам. Изменить: я сделал echo -n > file.log чтобы избежать сбоя службы, но это временное, потому что проблема остается

2 Solutions collect form web for “Где опция -i в sed хранит строки, соответствующие регулярному выражению?”

Параметр --in-place для sed не может действительно редактировать файл на месте, поэтому он фактически выполняет эквивалент:

 if sed ... input > /tmp/output$$ ; then mv /tmp/output$$ input else rm /tmp/output$$ fi 

что означает, что перед командой mv вы можете удвоить (или, что еще хуже) размер входного файла на диске. Когда файловые системы достигают почти полной, они становятся ужасно менее эффективными.

Похоже, что большая проблема заключается в том, что вы просто свободны от дискового пространства, или у вас есть / var / log и / tmp, установленные на том же самом разделе, что и / или если / находится на небольшом разделе, вы будете переполнять его сейчас и далее неделю и неделя после этого и т. д.

Посмотрите на mount и df /tmp и df /var/log чтобы узнать, как настроен ваш диск. Вам либо необходимо:

  1. исправить дисковый монтаж
  2. получить больший диск
  3. заглянуть в logrotate
  4. так много стоп
  5. или некоторая комбинация вышеуказанного

Запуск strace на sed -i должен сделать его довольно очевидным, когда он помещает временные файлы. Но самое легкое, что нужно сделать, это не использовать -i. Перенаправить вывод в файл на раздел, где у вас есть место.

  • Как я могу проверить, установлен ли каталог / tmp на моей системе CentOS 5.x на tmpfs?
  • Поиск правильного dmp tmp на нескольких платформах
  • Общий способ получить временный путь?
  • Смотреть / tmp для создания файлов и предотвращения удаления файлов?
  • Рекомендуется использовать папку / tmp для резервного копирования?
  • Почему Debian предпочитает временный файл, заменяющий оригинал на изменение байтов в исходном файле?
  • Является ли подкаталог / tmp подходящим местом для сокетов Unix?
  • Вчера я совершил ошибку, которая случайно удалила 1800 ГБ моего Файлового сервера
  • bash: Некоторая проблема при использовании read <<< "$ VARIABLE" в корневом разделе только для чтения. Любые известные обходные пути?
  • Где должны быть созданы сгенерированные скрипты в файловой системе?
  • Как я могу проверить, работает ли мой / tmp?
  • Linux и Unix - лучшая ОС в мире.