Прерывает ли sed поврежденный целевой файл?

Если я прерываю sed (редактор потока), есть ли вероятность развращения целевого файла?

Пример . Если я запустил команду sed -i -- 's/foo/bar/g' file.txt и убей ее до ее завершения, есть ли вероятность, что строка foo будет заменена некоторым текстом, отличным от bar или даже искажая целевой файл?

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

  • Проблема удаления / замены специального символа °
  • Как изменить столбец в строке в текстовом файле с разделителями табуляции, если он дублируется
  • sed - как печатать текстовый блок со второго шаблона?
  • Удалите строки между двумя тегами (с некоторыми ограничениями)
  • Я хочу найти строку и вытащить все строки между двумя шаблонами
  • Как искать и заменять строку символами новой строки в командной строке в файле
  • Разделить текстовый файл на несколько файлов по содержимому столбца
  • Возвращайте только часть строки после соответствующего шаблона
  • One Solution collect form web for “Прерывает ли sed поврежденный целевой файл?”

    Из седельного руководства …

    https://www.gnu.org/software/sed/manual/sed.html

    Когда конец файла достигнут, временный файл будет переименован в исходное имя выходного файла.

     -i[SUFFIX] --in-place[=SUFFIX] This option specifies that files are to be edited in-place. GNU sed does this by creating a temporary file and sending output to this file rather than to the standard output.1. This option implies -s. When the end of the file is reached, the temporary file is renamed to the output file's original name. The extension, if supplied, is used to modify the name of the old file before renaming the temporary file, thereby making a backup copy2). This rule is followed: if the extension doesn't contain a *, then it is appended to the end of the current filename as a suffix; if the extension does contain one or more * characters, then each asterisk is replaced with the current filename. This allows you to add a prefix to the backup file, instead of (or in addition to) a suffix, or even to place backup copies of the original files into another directory (provided the directory already exists). If no extension is supplied, the original file is overwritten without making a backup. 
    Interesting Posts

    Показывать файлы за последние 2 дня на смонтированной системе ntfs?

    xkb: индикация отображения перевернутой клавиатуры

    на MSI B75MA-P45 не установлены модули датчиков, совместимые с pwm

    AIX ftpd – как установить umask для данного пользователя?

    Как правильно настроить анонимную NFS

    Centos 6.6, изменить размер раздела

    GNU make – как конкатенация переменной в зависимости от результата команды оболочки (версия GCC)

    Как я могу получить меньше или кошку, чтобы использовать цвет в выходе из .cat моего .bashrc, похожего на vi?

    почему внешний жесткий диск 2TB распознается как 800 ГБ только в Ubuntu 8.10

    После обновления ядра звук больше не работает

    Как использовать беспроводную сеть в Virtualbox?

    Как заставить Наутилуса «Открыть с помощью архивного монтера»?

    Как конвертировать VOB-файл в avi?

    Как программно менять обои в openbox?

    Отключить Oh-My-ZSH Завершение начала имени файла

    Linux и Unix - лучшая ОС в мире.