aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawktexi.in
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2019-01-14 21:27:35 +0200
committerArnold D. Robbins <arnold@skeeve.com>2019-01-14 21:27:35 +0200
commit6f16c4f468e6f3a6769509e1e70ff2dc4873e8d2 (patch)
treeff3e3cb737950b798cf2668f75cb81269ffaa6e7 /doc/gawktexi.in
parent99e184df5e808dd4de24b3e41c724bf9b00b9bb4 (diff)
parentfe85aef5cc3e31450c6850c996aa348a68c42ca7 (diff)
downloadegawk-6f16c4f468e6f3a6769509e1e70ff2dc4873e8d2.tar.gz
egawk-6f16c4f468e6f3a6769509e1e70ff2dc4873e8d2.tar.bz2
egawk-6f16c4f468e6f3a6769509e1e70ff2dc4873e8d2.zip
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'doc/gawktexi.in')
-rw-r--r--doc/gawktexi.in54
1 files changed, 34 insertions, 20 deletions
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index b562fb56..de713811 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2558,7 +2558,7 @@ does the same thing as this one:
awk 'BEGIN @{ print "Don\47t Panic!" @}'
@end example
-@cindex quoting in @command{gawk} command lines
+@cindex quoting, in @command{gawk} command lines
@noindent
This was explained earlier
(@pxref{Read Terminal}).
@@ -2857,7 +2857,7 @@ as the value of @code{FS}, and the first @value{FN} as the text of the program!
This results in syntax errors at best, and confusing behavior at worst.
@end itemize
-@cindex quoting in @command{gawk} command lines, tricks for
+@cindex quoting, in @command{gawk} command lines, tricks for
Mixing single and double quotes is difficult. You have to resort
to shell quoting tricks, like this:
@@ -3768,7 +3768,7 @@ more than once, setting another variable each time, like this:
@samp{awk @w{-v foo=1} @w{-v bar=2} @dots{}}.
@cindex predefined variables, @code{-v} option@comma{} setting with
-@cindex variables, predefined @code{-v} option@comma{} setting with
+@cindex variables, predefined, @code{-v} option@comma{} setting with
@quotation CAUTION
Using @option{-v} to set the values of the built-in
variables may lead to surprising results. @command{awk} will reset the
@@ -3794,8 +3794,8 @@ are not treated as options even if they begin with @samp{-}. This
interpretation of @option{--} follows the POSIX argument parsing
conventions.
-@cindex @code{-} (hyphen), filenames beginning with
-@cindex hyphen (@code{-}), filenames beginning with
+@cindex @code{-} (hyphen), file names beginning with
+@cindex hyphen (@code{-}), file names beginning with
This is useful if you have @value{FN}s that start with @samp{-},
or in shell scripts, if you have @value{FN}s that will be specified
by the user that could start with @samp{-}.
@@ -4138,7 +4138,7 @@ Newlines are not allowed after @samp{?} or @samp{:}
(@pxref{Conditional Exp}).
-@cindex @code{FS} variable, as TAB character
+@cindex @code{FS} variable, TAB character as
@item
Specifying @samp{-Ft} on the command line does not set the value
of @code{FS} to be a single TAB character
@@ -4393,6 +4393,8 @@ the output of @var{some_command}, and finally it reads
You may also use @code{"-"} to name standard input when reading
files with @code{getline} (@pxref{Getline/File}).
+And, you can even use @code{"-"} with the @option{-f} option
+to read program source code from standard input (@pxref{Options}).
In addition, @command{gawk} allows you to specify the special
@value{FN} @file{/dev/stdin}, both on the command line and
@@ -4862,8 +4864,8 @@ in case some option becomes obsolete in a future version of @command{gawk}.
@cindex features, undocumented
@cindex Skywalker, Luke
@cindex Kenobi, Obi-Wan
-@cindex Jedi knights
-@cindex Knights, jedi
+@cindex jedi knights
+@cindex knights, jedi
@quotation
@i{Use the Source, Luke!}
@author Obi-Wan
@@ -5043,6 +5045,7 @@ regular expressions work, we present more complicated instances.
@node Regexp Usage
@section How to Use Regular Expressions
+@cindex patterns, regular expressions as
@cindex regular expressions, as patterns
A regular expression can be used as a pattern by enclosing it in
slashes. Then the regular expression is tested against the
@@ -6312,6 +6315,7 @@ This is why records are, by default, single lines.
To use a different character for the record separator,
simply assign that character to the predefined variable @code{RS}.
+@cindex record separators, newlines as
@cindex newlines, as record separators
@cindex @code{RS} variable
Like any other variable,
@@ -6470,6 +6474,7 @@ affected.
@cindex records, terminating
@cindex terminating records
@cindex differences in @command{awk} and @command{gawk}, record separators
+@cindex differences in @command{awk} and @command{gawk}, @code{RS}/@code{RT} variables
@cindex regular expressions, as record separators
@cindex record separators, regular expressions as
@cindex separators, for records, regular expressions as
@@ -6545,6 +6550,8 @@ that happens to contain newline characters.
It is thus best to avoid anchor metacharacters in the value of @code{RS}.
@end quotation
+@cindex @command{gawk}, @code{RT} variable in
+@cindex @code{RT} variable
@cindex differences in @command{awk} and @command{gawk}, @code{RS}/@code{RT} variables
The use of @code{RS} as a regular expression and the @code{RT}
variable are @command{gawk} extensions; they are not available in
@@ -6591,6 +6598,7 @@ character as a record separator. However, this is a special case:
@cindex records, treating files as
@cindex treating files, as single records
+@cindex single records, treating files as
@xref{Readfile Function} for an interesting way to read
whole files. If you are using @command{gawk}, see @ref{Extension Sample
Readfile} for another option.
@@ -7002,7 +7010,7 @@ this @command{awk} program extracts and prints the string
@samp{@bullet{}29@bullet{}Oak@bullet{}St.}.
@cindex field separators, choice of
-@cindex regular expressions as field separators
+@cindex regular expressions, as field separators
@cindex field separators, regular expressions as
Sometimes the input data contains separator characters that don't
separate fields the way you thought they would. For instance, the
@@ -7026,6 +7034,7 @@ can massage it first with a separate @command{awk} program.)
@node Default Field Splitting
@subsection Whitespace Normally Separates Fields
+@cindex field separators, whitespace as
@cindex whitespace, as field separators
Fields are normally separated by whitespace sequences
(spaces, TABs, and newlines), not by single spaces. Two spaces in a row do not
@@ -7220,6 +7229,7 @@ awk -F\\\\ '@dots{}' files @dots{}
@end example
@noindent
+@cindex field separator, backslash (@code{\}) as
@cindex @code{\} (backslash), as field separator
@cindex backslash (@code{\}), as field separator
Because @samp{\} is used for quoting in the shell, @command{awk} sees
@@ -7951,6 +7961,7 @@ POSIX standard.)
@cindex @command{gawk}, @code{RT} variable in
@cindex @code{RT} variable
+@cindex differences in @command{awk} and @command{gawk}, @code{RS}/@code{RT} variables
If not in compatibility mode (@pxref{Options}), @command{gawk} sets
@code{RT} to the input text that matched the value specified by @code{RS}.
But if the input file ended without any text that matches @code{RS},
@@ -10882,6 +10893,7 @@ it would be nice to have regexp constants that
are @dfn{strongly typed}; in other words, that denote a regexp useful
for matching, and not an expression.
+@cindex values, regexp
@command{gawk} provides this feature. A strongly typed regexp constant
looks almost like a regular regexp constant, except that it is preceded
by an @samp{@@} sign:
@@ -11872,7 +11884,7 @@ like @samp{@var{lvalue}++}, but instead of adding, it subtracts.)
@sidebar Operator Evaluation Order
@cindex precedence
-@cindex operators, precedence
+@cindex operators, precedence of
@cindex portability, operators
@cindex evaluation order
@cindex Marx, Groucho
@@ -13204,7 +13216,7 @@ The empty pattern matches every input record.
@node Regexp Patterns
@subsection Regular Expressions as Patterns
-@cindex patterns, expressions as
+@cindex patterns, regular expressions as
@cindex regular expressions, as patterns
Regular expressions are one of the first kinds of patterns presented
@@ -13222,6 +13234,7 @@ END @{ print buzzwords, "buzzwords seen" @}
@node Expression Patterns
@subsection Expressions as Patterns
@cindex expressions, as patterns
+@cindex patterns, expressions as
Any @command{awk} expression is valid as an @command{awk} pattern.
The pattern matches if the expression's value is nonzero (if a
@@ -13275,6 +13288,7 @@ appears in the current input record. Thus, as a pattern, @code{/li/}
matches any record containing @samp{li}.
@cindex Boolean expressions, as patterns
+@cindex patterns, Boolean expressions as
Boolean expressions are also commonly used as patterns.
Whether the pattern
matches an input record depends on whether its subexpressions match.
@@ -14759,7 +14773,6 @@ Its default value is @code{"%.6g"}. Earlier versions of @command{awk}
used @code{OFMT} to specify the format for converting numbers to
strings in general expressions; this is now done by @code{CONVFMT}.
-@cindex @code{sprintf()} function, @code{OFMT} variable and
@cindex @code{print} statement, @code{OFMT} variable and
@cindex @code{OFS} variable
@cindex separators, field
@@ -14833,7 +14846,7 @@ The default value of @code{TEXTDOMAIN} is @code{"messages"}.
@subsection Built-in Variables That Convey Information
@cindex predefined variables, conveying information
-@cindex variables, predefined conveying information
+@cindex variables, predefined, conveying information
The following is an alphabetical list of variables that @command{awk}
sets automatically on certain occasions in order to provide
information to your program.
@@ -16393,6 +16406,7 @@ sorting arrays; see @ref{Array Sorting Functions}.
@section Using Numbers to Subscript Arrays
@cindex numbers, as array subscripts
+@cindex array subscripts, numbers as
@cindex arrays, numeric subscripts
@cindex subscripts in arrays, numbers as
@cindex @code{CONVFMT} variable, array subscripts and
@@ -16506,6 +16520,7 @@ Here, the @samp{++} forces @code{lines} to be numeric, thus making
the ``old value'' numeric zero. This is then converted to @code{"0"}
as the array subscript.
+@cindex array subscripts, null strings as
@cindex null strings, as array subscripts
@cindex dark corner, array subscripts
@cindex lint checking, array subscripts
@@ -19285,7 +19300,7 @@ $ @kbd{gawk -f testbits.awk}
@cindex strings, converting
@cindex numbers, converting
@cindex converting, numbers to strings
-@cindex number as string of bits
+@cindex numbers, as string of bits
The @code{bits2str()} function turns a binary number into a string.
Initializing @code{mask} to one creates
a binary value where the rightmost bit
@@ -22044,8 +22059,8 @@ not @samp{<}.
@node Ignoring Assigns
@subsection Treating Assignments as @value{FFN}s
-@cindex assignments as filenames
-@cindex filenames, assignments as
+@cindex assignments as file names
+@cindex file names, assignments as
Occasionally, you might not want @command{awk} to process command-line
variable assignments
(@pxref{Assignment Options}).
@@ -28850,7 +28865,6 @@ is covered.
@node String Extraction
@subsection Extracting Marked Strings
@cindex strings, extracting
-@cindex marked strings@comma{} extracting
@cindex @option{--gen-pot} option
@cindex command-line options, string extraction
@cindex string extraction (internationalization)
@@ -30199,7 +30213,6 @@ functions that called the one you are in. The commands for doing this are:
@cindex debugger commands, @code{where} (@code{backtrace})
@cindex @code{backtrace} debugger command
@cindex @code{bt} debugger command (alias for @code{backtrace})
-@cindex @code{where} debugger command
@cindex @code{where} debugger command (alias for @code{backtrace})
@cindex call stack, display in debugger
@cindex traceback, display in debugger
@@ -31176,7 +31189,7 @@ version of @command{gawk}.
@cindex arbitrary precision
@cindex multiple precision
@cindex infinite precision
-@cindex floating-point, numbers@comma{} arbitrary precision
+@cindex floating-point, numbers@comma{} arbitrary-precision
This @value{CHAPTER} introduces some basic concepts relating to
how computers do arithmetic and defines some important terms.
@@ -38836,7 +38849,7 @@ The development of the extension API first released with
Arnold Robbins and Andrew Schorr, with notable contributions from
the rest of the development team.
-@cindex Malmberg, John E.
+@cindex Malmberg, John
@item
John Malmberg contributed significant improvements to the
OpenVMS port and the related documentation.
@@ -40409,6 +40422,7 @@ makes this implementation available. You can view the files one at a time from
@cindex @command{goawk}
@cindex Go implementation of @command{awk}
@cindex source code, @command{goawk}
+@cindex programming languages, Go
@item @command{goawk}
This is an @command{awk} interpreter written in the
@uref{https://golang.org/, Go programming language}.