On 30/04/11 14:31, Jim Meyering wrote:
> From: Jim Meyering <[email protected]>
>
> * doc/coreutils.texi (split invocation): Describe --filter=CMD.
> ---
> doc/coreutils.texi | 24 ++++++++++++++++++++++--
> 1 files changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/doc/coreutils.texi b/doc/coreutils.texi
> index d2377f4..88e363b 100644
> --- a/doc/coreutils.texi
> +++ b/doc/coreutils.texi
> @@ -2992,8 +2992,8 @@ split invocation
> Put @var{lines} lines of @var{input} into each output file.
>
> For compatibility @command{split} also supports an obsolete
> -option syntax @option{-@var{lines}}. New scripts should use @option{-l
> -@var{lines}} instead.
> +option syntax @option{-@var{lines}}. New scripts should use
> +@option{-l @var{lines}} instead.
>
> @item -b @var{size}
> @itemx --bytes=@var{size}
> @@ -3011,6 +3011,26 @@ split invocation
> @var{size} bytes are broken into multiple files.
> @var{size} has the same format as for the @option{--bytes} option.
>
> +@itemx --filter=@var{command}
> +@opindex --filter
> +With this option, rather than simply writing to each output file,
> +@command{split} writes through a pipe to the specified shell @var{command}
s/@command{split} writes/write/
> +for each output file.
> +@var{command} may use the $FILE environment variable, which is set
> +to a different output file name for each invocation of the command.
> +For example, imagine that you have a 1TiB compressed file
> +that, if uncompressed, would be too large to reside on disk,
> +yet you must split it into individually-compressed pieces
> +of a more manageable size.
> +To do that, you might run this command:
> +
> +@example
> +xz -dc BIG.xz big- | split -b200G --filter='xz > $FILE.xz'
xz -dc BIG.xz | split -b20G --filter='xz > $FILE.xz' - big-
> +@end example
> +
> +Assuming a 10:1 compression ratio, that would create about fifty 20GiB files
> +with names @file{big-xaa.xz}, @file{big-xab.xz}, @file{big-xac.xz}, etc.
> +
> @item -n @var{chunks}
> @itemx --number=@var{chunks}
> @opindex -n