From 7b0a5eea09df48fc4a2588632c1410570a0c8904 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Feb 2016 23:48:36 -0800 Subject: [PATCH] doc: document sort -o F F danger MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problem reported by Yanyan Jiang 蒋炎岩 in: http://bugs.gnu.org/22769 * doc/coreutils.texi (sort invocation): Mention possibility of 'sort -o F F' data loss during crashes. --- doc/coreutils.texi | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/coreutils.texi b/doc/coreutils.texi index 01791be..a07e46e 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -4384,9 +4384,12 @@ silently uses a smaller value. @cindex overwriting of input, allowed Write output to @var{output-file} instead of standard output. Normally, @command{sort} reads all input before opening address@hidden, so you can safely sort a file in place by using address@hidden, so you can sort a file in place by using commands like @code{sort -o F F} and @code{cat F | sort -o address@hidden -However, @command{sort} with @option{--merge} (@option{-m}) can open +However, it is often safer to output to an otherwise-unused file, as +data may be lost if the system crashes or @command{sort} encounters +an I/O or other serious error while a file is being sorted in place. +Also, @command{sort} with @option{--merge} (@option{-m}) can open the output file before reading all input, so a command like @code{cat F | sort -m -o F - G} is not safe as @command{sort} might start writing @file{F} before @command{cat} is done reading it. -- 2.5.0