1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-05 00:07:51 +02:00

doc: add alternatives for field processing not supported by cut

* doc/coreutils.texi (cut invocation): Remove the tr -s '[:blank:]'
example, as it doesn't handle leading and trailing blanks.  Add `awk`
examples for common field processing operations often asked about.
Also document a `join` hack, to achieve the same thing.  Note the
join options are ordered so as to be compatible with other systems.
This commit is contained in:
Pádraig Brady
2010-11-24 08:37:23 +00:00
parent 877ca5bf85
commit 38cdb01a32
+19 -4
View File
@@ -5506,11 +5506,26 @@ Select for printing only the fields listed in @var{field-list}.
Fields are separated by a TAB character by default. Also print any
line that contains no delimiter character, unless the
@option{--only-delimited} (@option{-s}) option is specified.
Note @command{cut} does not support specifying runs of whitespace as a
delimiter, so to achieve that common functionality one can pre-process
with @command{tr} like:
Note @command{awk} supports more sophisticated field processing,
and by default will use (and discard) runs of blank characters to
separate fields, and ignore leading and trailing blanks.
@example
tr -s '[:blank:]' '\t' | cut -f@dots{}
@verbatim
awk '{print $2}' # print the second field
awk '{print $NF-1}' # print the penultimate field
awk '{print $2,$1}' # reorder the first two fields
@end verbatim
@end example
In the unlikely event that @command{awk} is unavailable,
one can use the @command{join} command, to process blank
characters as @command{awk} does above.
@example
@verbatim
join -a1 -o 1.2 - /dev/null # print the second field
join -a1 -o 1.2,1.1 - /dev/null # reorder the first two fields
@end verbatim
@end example
@item -d @var{input_delim_byte}