1 .\" SPDX-License-Identifier: BSD-2-Clause
3 .\" Copyright (c) 2022 Alessio Chiapperini
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 .Nd split input, feed it into the given utility and consume it if successful.
37 .Op Ar utility Op Ar argument ...
41 utility reads input from the file named by the
43 operand or from stdin if absent, and splits it when encountering the given
44 delimiter (defaults to newline).
47 repeatedly, feeding it the generated data as input.
48 On success the given data is consumed (removed) from the input file, if any.
50 The options are as follows:
51 .Bl -tag -width indent
53 Input items are teminated by a null character instead of by newline. The GNU
54 find -print0 option produces input suitable for this mode.
56 Input items are fed as a command-line argument to
63 Print usage information and exit.
67 instead of standard input.
69 Print the command line on the standard error ouput before executing it.
74 utility exits 0 on success, and 1 if an error occurs.
76 Count the number of words in each line of 'La Divina Commedia':
77 .Dl curl -s https://dmf.unicatt.it/~della/pythoncourse18/commedia.txt | consume wc -w
81 in or below the directory
83 and delete them. Before deleting each file the full command is printed to stderr:
84 .Dl find /tmp -name core -type f -print | consume -a -v /bin/rm -f
86 Consume all lines delimited by
88 in biglistoflinks.txt that wget has downloaded successfully:
89 .Dl consume -0 -a -i biglistoflinks.txt wget -qc
95 .Bl -tag -width indent
96 .It Input lines are limited to LINE_MAX bytes in length.
97 .It Input file names are limited to BUFSIZ bytes in length.
100 .An Alessio Chiapperini Aq Mt alessio.chiapperini@\:nullbuffer.com