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

Обычно это восстанавливается после форматирования.

fdisk /dev/sdc

n - новый раздел Может Вы для доступа к нему?

1
06.02.2012, 17:15
2 ответа

--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. или некоторая комбинация вышеупомянутого
3
27.01.2020, 23:17
  • 1
    6. изучите удаленный вход 7. взгляните на insitu (но обращаться с осторожностью) –  sr_ 06.02.2012, 17:07
  • 2
    Временный файл должен войти в $TMPDIR, таким образом, пользователь должен смочь установить TMPDIR для указания на раздел с большим количеством пространства. К сожалению, гну sed 4.1.2 на самом деле не соблюдает TMPDIR и даже не переходит к/tmp, но использует каталог, в котором файл, работающий на, находится (это имеет некоторый смысл, так как это гарантирует, что tmpfile находится на том же разделе, таким образом, заключительное перемещение является просто переименовыванием, но причиняет боль для текущей ситуации.), С другой стороны,-i является полным взломом, и пользователь мог столь же легко сделать перемещения файла. –  William Pursell 06.02.2012, 17:19
  • 3
    Это верно. Это ничего не перемещало в/tmp (sed 4.1.5). Я искал скрытые файлы в/var/log dir, но я не нашел временные файлы там ни одним. Я мог использовать mv или эхо вместо sed, но я хотел сохранить весь февраль журналы. Таким образом, конечным решением было перемонтирование раздел. (Теперь использует 30% :D). Спасибо –  altmas5 06.02.2012, 18:35

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

2
27.01.2020, 23:17
  • 1
    я не буду использовать-i опцию с большими файлами или использованием tr вместо. thnks –  altmas5 06.02.2012, 18:40

Теги

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