Формулировка редактирования на месте обычно неправильно понимается. Редактирование на месте подразумевает, что вы не меняете файл на диске. Большинство встроенных решений, предоставляемых различными инструментами, такими как sed -i
и awk -i inplace
, представляют собой не что иное, как маскированную форму
$ tmpfile="$(mktemp)" && command file > "${tmpfile}" && mv "${tmpfile}" file
, которая создает временный файл / копию, а затем переименуйте его в оригинал. Реализация не обязательно такая, но она будет похожей. Таким образом, вы должны знать, что, в конце концов, есть вероятность, что вы дублируете данные. Это особенно громоздко при работе с большими файлами без достаточного дискового пространства. Вы можете легко проверить это, проверив номер индекса файла до и после операции. Единственное истинное место, сделано с помощью dd
.