From: Paul Eggert Date: Tue, 23 Feb 2016 07:48:36 +0000 (-0800) Subject: doc: document sort -o F F danger X-Git-Tag: v8.26~128 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4c1995f1b673b0e1eae73a9db4e28016b86dee9e;p=thirdparty%2Fcoreutils.git doc: document sort -o F F danger 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. --- diff --git a/doc/coreutils.texi b/doc/coreutils.texi index 01791be5b1..a07e46ef10 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.