From 4c1995f1b673b0e1eae73a9db4e28016b86dee9e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 22 Feb 2016 23:48:36 -0800 Subject: 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(-) (limited to 'doc') diff --git a/doc/coreutils.texi b/doc/coreutils.texi index 01791be5b..a07e46ef1 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 -@var{output-file}, so you can safely sort a file in place by using +@var{output-file}, so you can sort a file in place by using commands like @code{sort -o F F} and @code{cat F | sort -o F}@. -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. -- cgit v1.2.3-54-g00ecf