gawk: Glossary

1 
1 Glossary
1 ********
1 
1 Action
1      A series of 'awk' statements attached to a rule.  If the rule's
1      pattern matches an input record, 'awk' executes the rule's action.
1      Actions are always enclosed in braces.  (⇒Action Overview.)
1 
1 Ada
1      A programming language originally defined by the U.S. Department of
1      Defense for embedded programming.  It was designed to enforce good
1      Software Engineering practices.
1 
1 Amazing 'awk' Assembler
1      Henry Spencer at the University of Toronto wrote a retargetable
1      assembler completely as 'sed' and 'awk' scripts.  It is thousands
1      of lines long, including machine descriptions for several eight-bit
1      microcomputers.  It is a good example of a program that would have
1      been better written in another language.
1 
1 Amazingly Workable Formatter ('awf')
1      Henry Spencer at the University of Toronto wrote a formatter that
1      accepts a large subset of the 'nroff -ms' and 'nroff -man'
1      formatting commands, using 'awk' and 'sh'.
1 
1 Anchor
1      The regexp metacharacters '^' and '$', which force the match to the
1      beginning or end of the string, respectively.
1 
1 ANSI
1      The American National Standards Institute.  This organization
1      produces many standards, among them the standards for the C and C++
1      programming languages.  These standards often become international
1      standards as well.  See also "ISO."
1 
1 Argument
1      An argument can be two different things.  It can be an option or a
1      file name passed to a command while invoking it from the command
1      line, or it can be something passed to a "function" inside a
1      program, e.g.  inside 'awk'.
1 
1      In the latter case, an argument can be passed to a function in two
1      ways.  Either it is given to the called function by value, i.e., a
1      copy of the value of the variable is made available to the called
1      function, but the original variable cannot be modified by the
1      function itself; or it is given by reference, i.e., a pointer to
1      the interested variable is passed to the function, which can then
1      directly modify it.  In 'awk' scalars are passed by value, and
1      arrays are passed by reference.  See "Pass By Value/Reference."
1 
1 Array
1      A grouping of multiple values under the same name.  Most languages
1      just provide sequential arrays.  'awk' provides associative arrays.
1 
1 Assertion
1      A statement in a program that a condition is true at this point in
1      the program.  Useful for reasoning about how a program is supposed
1      to behave.
1 
1 Assignment
1      An 'awk' expression that changes the value of some 'awk' variable
1      or data object.  An object that you can assign to is called an
11      "lvalue".  The assigned values are called "rvalues".  ⇒
      Assignment Ops.
1 
1 Associative Array
1      Arrays in which the indices may be numbers or strings, not just
1      sequential integers in a fixed range.
1 
1 'awk' Language
1      The language in which 'awk' programs are written.
1 
1 'awk' Program
1      An 'awk' program consists of a series of "patterns" and "actions",
1      collectively known as "rules".  For each input record given to the
1      program, the program's rules are all processed in turn.  'awk'
1      programs may also contain function definitions.
1 
1 'awk' Script
1      Another name for an 'awk' program.
1 
1 Bash
1      The GNU version of the standard shell (the Bourne-Again SHell).
1      See also "Bourne Shell."
1 
1 Binary
1      Base-two notation, where the digits are '0'-'1'.  Since electronic
1      circuitry works "naturally" in base 2 (just think of Off/On),
1      everything inside a computer is calculated using base 2.  Each
1      digit represents the presence (or absence) of a power of 2 and is
1      called a "bit".  So, for example, the base-two number '10101' is
1      the same as decimal 21, ((1 x 16) + (1 x 4) + (1 x 1)).
1 
1      Since base-two numbers quickly become very long to read and write,
1      they are usually grouped by 3 (i.e., they are read as octal
1      numbers), or by 4 (i.e., they are read as hexadecimal numbers).
1      There is no direct way to insert base 2 numbers in a C program.  If
1      need arises, such numbers are usually inserted as octal or
1      hexadecimal numbers.  The number of base-two digits that fit into
1      registers used for representing integer numbers in computers is a
1      rough indication of the computing power of the computer itself.
1      Most computers nowadays use 64 bits for representing integer
1      numbers in their registers, but 32-bit, 16-bit and 8-bit registers
1      have been widely used in the past.  ⇒Nondecimal-numbers.
1 Bit
1      Short for "Binary Digit."  All values in computer memory ultimately
1      reduce to binary digits: values that are either zero or one.
1      Groups of bits may be interpreted differently--as integers,
1      floating-point numbers, character data, addresses of other memory
1      objects, or other data.  'awk' lets you work with floating-point
1      numbers and strings.  'gawk' lets you manipulate bit values with
1      the built-in functions described in ⇒Bitwise Functions.
1 
1      Computers are often defined by how many bits they use to represent
1      integer values.  Typical systems are 32-bit systems, but 64-bit
1      systems are becoming increasingly popular, and 16-bit systems have
1      essentially disappeared.
1 
1 Boolean Expression
1      Named after the English mathematician Boole.  See also "Logical
1      Expression."
1 
1 Bourne Shell
1      The standard shell ('/bin/sh') on Unix and Unix-like systems,
1      originally written by Steven R. Bourne at Bell Laboratories.  Many
1      shells (Bash, 'ksh', 'pdksh', 'zsh') are generally upwardly
1      compatible with the Bourne shell.
1 
1 Braces
1      The characters '{' and '}'.  Braces are used in 'awk' for
1      delimiting actions, compound statements, and function bodies.
1 
1 Bracket Expression
1      Inside a "regular expression", an expression included in square
1      brackets, meant to designate a single character as belonging to a
1      specified character class.  A bracket expression can contain a list
1      of one or more characters, like '[abc]', a range of characters,
1      like '[A-Z]', or a name, delimited by ':', that designates a known
1      set of characters, like '[:digit:]'.  The form of bracket
1      expression enclosed between ':' is independent of the underlying
1      representation of the character themselves, which could utilize the
1      ASCII, EBCDIC, or Unicode codesets, depending on the architecture
1      of the computer system, and on localization.  See also "Regular
1      Expression."
1 
1 Built-in Function
1      The 'awk' language provides built-in functions that perform various
1      numerical, I/O-related, and string computations.  Examples are
1      'sqrt()' (for the square root of a number) and 'substr()' (for a
1      substring of a string).  'gawk' provides functions for timestamp
1      management, bit manipulation, array sorting, type checking, and
1      runtime string translation.  (⇒Built-in.)
1 
1 Built-in Variable
1      'ARGC', 'ARGV', 'CONVFMT', 'ENVIRON', 'FILENAME', 'FNR', 'FS',
1      'NF', 'NR', 'OFMT', 'OFS', 'ORS', 'RLENGTH', 'RSTART', 'RS', and
1      'SUBSEP' are the variables that have special meaning to 'awk'.  In
1      addition, 'ARGIND', 'BINMODE', 'ERRNO', 'FIELDWIDTHS', 'FPAT',
1      'IGNORECASE', 'LINT', 'PROCINFO', 'RT', and 'TEXTDOMAIN' are the
1      variables that have special meaning to 'gawk'.  Changing some of
11      them affects 'awk''s running environment.  (⇒Built-in
      Variables.)
1 
1 C
1      The system programming language that most GNU software is written
1      in.  The 'awk' programming language has C-like syntax, and this
1      Info file points out similarities between 'awk' and C when
1      appropriate.
1 
1      In general, 'gawk' attempts to be as similar to the 1990 version of
1      ISO C as makes sense.
1 
1 C Shell
1      The C Shell ('csh' or its improved version, 'tcsh') is a Unix shell
1      that was created by Bill Joy in the late 1970s.  The C shell was
1      differentiated from other shells by its interactive features and
1      overall style, which looks more like C. The C Shell is not backward
1      compatible with the Bourne Shell, so special attention is required
1      when converting scripts written for other Unix shells to the C
1      shell, especially with regard to the management of shell variables.
1      See also "Bourne Shell."
1 
1 C++
1      A popular object-oriented programming language derived from C.
1 
1 Character Class
1      See "Bracket Expression."
1 
1 Character List
1      See "Bracket Expression."
1 
1 Character Set
1      The set of numeric codes used by a computer system to represent the
1      characters (letters, numbers, punctuation, etc.)  of a particular
1      country or place.  The most common character set in use today is
1      ASCII (American Standard Code for Information Interchange).  Many
1      European countries use an extension of ASCII known as ISO-8859-1
1      (ISO Latin-1).  The Unicode character set (http://www.unicode.org)
1      is increasingly popular and standard, and is particularly widely
1      used on GNU/Linux systems.
1 
1 CHEM
1      A preprocessor for 'pic' that reads descriptions of molecules and
1      produces 'pic' input for drawing them.  It was written in 'awk' by
1      Brian Kernighan and Jon Bentley, and is available from
1      <http://netlib.org/typesetting/chem>.
1 
1 Comparison Expression
1      A relation that is either true or false, such as 'a < b'.
1      Comparison expressions are used in 'if', 'while', 'do', and 'for'
1      statements, and in patterns to select which input records to
1      process.  (⇒Typing and Comparison.)
1 
1 Compiler
1      A program that translates human-readable source code into
1      machine-executable object code.  The object code is then executed
1      directly by the computer.  See also "Interpreter."
1 
1 Complemented Bracket Expression
1      The negation of a "bracket expression".  All that is _not_
1      described by a given bracket expression.  The symbol '^' precedes
1      the negated bracket expression.  E.g.: '[^[:digit:]]' designates
1      whatever character is not a digit.  '[^bad]' designates whatever
1      character is not one of the letters 'b', 'a', or 'd'.  See "Bracket
1      Expression."
1 
1 Compound Statement
1      A series of 'awk' statements, enclosed in curly braces.  Compound
1      statements may be nested.  (⇒Statements.)
1 
1 Computed Regexps
1      See "Dynamic Regular Expressions."
1 
1 Concatenation
1      Concatenating two strings means sticking them together, one after
1      another, producing a new string.  For example, the string 'foo'
1      concatenated with the string 'bar' gives the string 'foobar'.
1      (⇒Concatenation.)
1 
1 Conditional Expression
1      An expression using the '?:' ternary operator, such as 'EXPR1 ?
1      EXPR2 : EXPR3'.  The expression EXPR1 is evaluated; if the result
1      is true, the value of the whole expression is the value of EXPR2;
1      otherwise the value is EXPR3.  In either case, only one of EXPR2
1      and EXPR3 is evaluated.  (⇒Conditional Exp.)
1 
1 Control Statement
1      A control statement is an instruction to perform a given operation
1      or a set of operations inside an 'awk' program, if a given
1      condition is true.  Control statements are: 'if', 'for', 'while',
1      and 'do' (⇒Statements).
1 
1 Cookie
1      A peculiar goodie, token, saying or remembrance produced by or
1      presented to a program.  (With thanks to Professor Doug McIlroy.)
1 
1 Coprocess
1      A subordinate program with which two-way communications is
1      possible.
1 
1 Curly Braces
1      See "Braces."
1 
1 Dark Corner
1      An area in the language where specifications often were (or still
1      are) not clear, leading to unexpected or undesirable behavior.
1      Such areas are marked in this Info file with "(d.c.)"  in the text
1      and are indexed under the heading "dark corner."
1 
1 Data Driven
1      A description of 'awk' programs, where you specify the data you are
1      interested in processing, and what to do when that data is seen.
1 
1 Data Objects
1      These are numbers and strings of characters.  Numbers are converted
1      into strings and vice versa, as needed.  (⇒Conversion.)
1 
1 Deadlock
1      The situation in which two communicating processes are each waiting
1      for the other to perform an action.
1 
1 Debugger
1      A program used to help developers remove "bugs" from (de-bug) their
1      programs.
1 
1 Double Precision
1      An internal representation of numbers that can have fractional
1      parts.  Double precision numbers keep track of more digits than do
1      single precision numbers, but operations on them are sometimes more
1      expensive.  This is the way 'awk' stores numeric values.  It is the
1      C type 'double'.
1 
1 Dynamic Regular Expression
1      A dynamic regular expression is a regular expression written as an
1      ordinary expression.  It could be a string constant, such as
1      '"foo"', but it may also be an expression whose value can vary.
1      (⇒Computed Regexps.)
1 
1 Empty String
1      See "Null String."
1 
1 Environment
1      A collection of strings, of the form 'NAME=VAL', that each program
1      has available to it.  Users generally place values into the
1      environment in order to provide information to various programs.
1      Typical examples are the environment variables 'HOME' and 'PATH'.
1 
1 Epoch
1      The date used as the "beginning of time" for timestamps.  Time
1      values in most systems are represented as seconds since the epoch,
1      with library functions available for converting these values into
1      standard date and time formats.
1 
1      The epoch on Unix and POSIX systems is 1970-01-01 00:00:00 UTC. See
1      also "GMT" and "UTC."
1 
1 Escape Sequences
1      A special sequence of characters used for describing nonprinting
1      characters, such as '\n' for newline or '\033' for the ASCII ESC
1      (Escape) character.  (⇒Escape Sequences.)
1 
1 Extension
1      An additional feature or change to a programming language or
1      utility not defined by that language's or utility's standard.
1      'gawk' has (too) many extensions over POSIX 'awk'.
1 
1 FDL
1      See "Free Documentation License."
1 
1 Field
1      When 'awk' reads an input record, it splits the record into pieces
1      separated by whitespace (or by a separator regexp that you can
1      change by setting the predefined variable 'FS').  Such pieces are
1      called fields.  If the pieces are of fixed length, you can use the
1      built-in variable 'FIELDWIDTHS' to describe their lengths.  If you
1      wish to specify the contents of fields instead of the field
1      separator, you can use the predefined variable 'FPAT' to do so.
DONTPRINTYET 1      (⇒Field Separators, ⇒Constant Size, and *note1DONTPRINTYET 1      (⇒Field Separators, ⇒Constant Size, and ⇒
      Splitting By Content.)
1 
1 Flag
1      A variable whose truth value indicates the existence or
1      nonexistence of some condition.
1 
1 Floating-Point Number
1      Often referred to in mathematical terms as a "rational" or real
1      number, this is just a number that can have a fractional part.  See
1      also "Double Precision" and "Single Precision."
1 
1 Format
1      Format strings control the appearance of output in the 'strftime()'
1      and 'sprintf()' functions, and in the 'printf' statement as well.
1      Also, data conversions from numbers to strings are controlled by
1      the format strings contained in the predefined variables 'CONVFMT'
1      and 'OFMT'.  (⇒Control Letters.)
1 
1 Fortran
1      Shorthand for FORmula TRANslator, one of the first programming
1      languages available for scientific calculations.  It was created by
1      John Backus, and has been available since 1957.  It is still in use
1      today.
1 
1 Free Documentation License
1      This document describes the terms under which this Info file is
11      published and may be copied.  (⇒GNU Free Documentation
      License.)
1 
1 Free Software Foundation
1      A nonprofit organization dedicated to the production and
1      distribution of freely distributable software.  It was founded by
1      Richard M. Stallman, the author of the original Emacs editor.  GNU
1      Emacs is the most widely used version of Emacs today.
1 
1 FSF
1      See "Free Software Foundation."
1 
1 Function
1      A part of an 'awk' program that can be invoked from every point of
1      the program, to perform a task.  'awk' has several built-in
1      functions.  Users can define their own functions in every part of
1      the program.  Function can be recursive, i.e., they may invoke
1      themselves.  ⇒Functions.  In 'gawk' it is also possible to
1      have functions shared among different programs, and included where
1      required using the '@include' directive (⇒Include Files).
1      In 'gawk' the name of the function that should be invoked can be
1      generated at run time, i.e., dynamically.  The 'gawk' extension API
1      provides constructor functions (⇒Constructor Functions).
1 
1 'gawk'
1      The GNU implementation of 'awk'.
1 
1 General Public License
1      This document describes the terms under which 'gawk' and its source
1      code may be distributed.  (⇒Copying.)
1 
1 GMT
1      "Greenwich Mean Time."  This is the old term for UTC. It is the
1      time of day used internally for Unix and POSIX systems.  See also
1      "Epoch" and "UTC."
1 
1 GNU
1      "GNU's not Unix".  An on-going project of the Free Software
1      Foundation to create a complete, freely distributable,
1      POSIX-compliant computing environment.
1 
1 GNU/Linux
1      A variant of the GNU system using the Linux kernel, instead of the
1      Free Software Foundation's Hurd kernel.  The Linux kernel is a
1      stable, efficient, full-featured clone of Unix that has been ported
1      to a variety of architectures.  It is most popular on PC-class
1      systems, but runs well on a variety of other systems too.  The
1      Linux kernel source code is available under the terms of the GNU
1      General Public License, which is perhaps its most important aspect.
1 
1 GPL
1      See "General Public License."
1 
1 Hexadecimal
1      Base 16 notation, where the digits are '0'-'9' and 'A'-'F', with
1      'A' representing 10, 'B' representing 11, and so on, up to 'F' for
1      15.  Hexadecimal numbers are written in C using a leading '0x', to
11      indicate their base.  Thus, '0x12' is 18 ((1 x 16) + 2).  ⇒
      Nondecimal-numbers.
1 
1 I/O
1      Abbreviation for "Input/Output," the act of moving data into and/or
1      out of a running program.
1 
1 Input Record
1      A single chunk of data that is read in by 'awk'.  Usually, an 'awk'
1      input record consists of one line of text.  (⇒Records.)
1 
1 Integer
1      A whole number, i.e., a number that does not have a fractional
1      part.
1 
1 Internationalization
1      The process of writing or modifying a program so that it can use
1      multiple languages without requiring further source code changes.
1 
1 Interpreter
1      A program that reads human-readable source code directly, and uses
1      the instructions in it to process data and produce results.  'awk'
1      is typically (but not always) implemented as an interpreter.  See
1      also "Compiler."
1 
1 Interval Expression
1      A component of a regular expression that lets you specify repeated
1      matches of some part of the regexp.  Interval expressions were not
1      originally available in 'awk' programs.
1 
1 ISO
1      The International Organization for Standardization.  This
1      organization produces international standards for many things,
1      including programming languages, such as C and C++.  In the
1      computer arena, important standards like those for C, C++, and
1      POSIX become both American national and ISO international standards
1      simultaneously.  This Info file refers to Standard C as "ISO C"
1      throughout.  See the ISO website
1      (https://www.iso.org/iso/home/about.htm) for more information about
1      the name of the organization and its language-independent
1      three-letter acronym.
1 
1 Java
1      A modern programming language originally developed by Sun
1      Microsystems (now Oracle) supporting Object-Oriented programming.
1      Although usually implemented by compiling to the instructions for a
1      standard virtual machine (the JVM), the language can be compiled to
1      native code.
1 
1 Keyword
1      In the 'awk' language, a keyword is a word that has special
1      meaning.  Keywords are reserved and may not be used as variable
1      names.
1 
1      'gawk''s keywords are: 'BEGIN', 'BEGINFILE', 'END', 'ENDFILE',
1      'break', 'case', 'continue', 'default', 'delete', 'do...while',
1      'else', 'exit', 'for...in', 'for', 'function', 'func', 'if',
1      'next', 'nextfile', 'switch', and 'while'.
1 
1 Korn Shell
1      The Korn Shell ('ksh') is a Unix shell which was developed by David
1      Korn at Bell Laboratories in the early 1980s.  The Korn Shell is
1      backward-compatible with the Bourne shell and includes many
1      features of the C shell.  See also "Bourne Shell."
1 
1 Lesser General Public License
1      This document describes the terms under which binary library
1      archives or shared objects, and their source code may be
1      distributed.
1 
1 LGPL
1      See "Lesser General Public License."
1 
1 Linux
1      See "GNU/Linux."
1 
1 Localization
1      The process of providing the data necessary for an
1      internationalized program to work in a particular language.
1 
1 Logical Expression
1      An expression using the operators for logic, AND, OR, and NOT,
1      written '&&', '||', and '!' in 'awk'.  Often called Boolean
1      expressions, after the mathematician who pioneered this kind of
1      mathematical logic.
1 
1 Lvalue
1      An expression that can appear on the left side of an assignment
1      operator.  In most languages, lvalues can be variables or array
1      elements.  In 'awk', a field designator can also be used as an
1      lvalue.
1 
1 Matching
1      The act of testing a string against a regular expression.  If the
1      regexp describes the contents of the string, it is said to "match"
1      it.
1 
1 Metacharacters
1      Characters used within a regexp that do not stand for themselves.
1      Instead, they denote regular expression operations, such as
1      repetition, grouping, or alternation.
1 
1 Nesting
1      Nesting is where information is organized in layers, or where
1      objects contain other similar objects.  In 'gawk' the '@include'
1      directive can be nested.  The "natural" nesting of arithmetic and
11      logical operations can be changed using parentheses (⇒
      Precedence).
1 
1 No-op
1      An operation that does nothing.
1 
1 Null String
1      A string with no characters in it.  It is represented explicitly in
1      'awk' programs by placing two double quote characters next to each
1      other ('""').  It can appear in input data by having two successive
1      occurrences of the field separator appear next to each other.
1 
1 Number
1      A numeric-valued data object.  Modern 'awk' implementations use
1      double precision floating-point to represent numbers.  Ancient
1      'awk' implementations used single precision floating-point.
1 
1 Octal
1      Base-eight notation, where the digits are '0'-'7'.  Octal numbers
1      are written in C using a leading '0', to indicate their base.
1      Thus, '013' is 11 ((1 x 8) + 3).  ⇒Nondecimal-numbers.
1 
1 Output Record
1      A single chunk of data that is written out by 'awk'.  Usually, an
11      'awk' output record consists of one or more lines of text.  ⇒
      Records.
1 
1 Pattern
1      Patterns tell 'awk' which input records are interesting to which
1      rules.
1 
1      A pattern is an arbitrary conditional expression against which
1      input is tested.  If the condition is satisfied, the pattern is
1      said to "match" the input record.  A typical pattern might compare
11      the input record against a regular expression.  (⇒Pattern
      Overview.)
1 
1 PEBKAC
1      An acronym describing what is possibly the most frequent source of
1      computer usage problems.  (Problem Exists Between Keyboard And
1      Chair.)
1 
1 Plug-in
1      See "Extensions."
1 
1 POSIX
1      The name for a series of standards that specify a Portable
1      Operating System interface.  The "IX" denotes the Unix heritage of
1      these standards.  The main standard of interest for 'awk' users is
1      'IEEE Standard for Information Technology, Standard 1003.1-2008'.
1      The 2008 POSIX standard can be found online at
1      <http://pubs.opengroup.org/onlinepubs/9699919799/>.
1 
1 Precedence
1      The order in which operations are performed when operators are used
1      without explicit parentheses.
1 
1 Private
1      Variables and/or functions that are meant for use exclusively by
1      library functions and not for the main 'awk' program.  Special care
11      must be taken when naming such variables and functions.  (⇒
      Library Names.)
1 
1 Range (of input lines)
1      A sequence of consecutive lines from the input file(s).  A pattern
1      can specify ranges of input lines for 'awk' to process or it can
1      specify single lines.  (⇒Pattern Overview.)
1 
1 Record
1      See "Input record" and "Output record."
1 
1 Recursion
1      When a function calls itself, either directly or indirectly.  If
1      this is clear, stop, and proceed to the next entry.  Otherwise,
1      refer to the entry for "recursion."
1 
1 Redirection
1      Redirection means performing input from something other than the
1      standard input stream, or performing output to something other than
1      the standard output stream.
1 
1      You can redirect input to the 'getline' statement using the '<',
1      '|', and '|&' operators.  You can redirect the output of the
1      'print' and 'printf' statements to a file or a system command,
1      using the '>', '>>', '|', and '|&' operators.  (⇒Getline,
1      and ⇒Redirection.)
1 
1 Reference Counts
1      An internal mechanism in 'gawk' to minimize the amount of memory
1      needed to store the value of string variables.  If the value
1      assumed by a variable is used in more than one place, only one copy
1      of the value itself is kept, and the associated reference count is
1      increased when the same value is used by an additional variable,
1      and decreased when the related variable is no longer in use.  When
1      the reference count goes to zero, the memory space used to store
1      the value of the variable is freed.
1 
1 Regexp
1      See "Regular Expression."
1 
1 Regular Expression
1      A regular expression ("regexp" for short) is a pattern that denotes
1      a set of strings, possibly an infinite set.  For example, the
1      regular expression 'R.*xp' matches any string starting with the
1      letter 'R' and ending with the letters 'xp'.  In 'awk', regular
1      expressions are used in patterns and in conditional expressions.
11      Regular expressions may contain escape sequences.  (⇒
      Regexp.)
1 
1 Regular Expression Constant
1      A regular expression constant is a regular expression written
1      within slashes, such as '/foo/'.  This regular expression is chosen
1      when you write the 'awk' program and cannot be changed during its
1      execution.  (⇒Regexp Usage.)
1 
1 Regular Expression Operators
1      See "Metacharacters."
1 
1 Rounding
1      Rounding the result of an arithmetic operation can be tricky.  More
1      than one way of rounding exists, and in 'gawk' it is possible to
11      choose which method should be used in a program.  ⇒Setting the
      rounding mode.
1 
1 Rule
1      A segment of an 'awk' program that specifies how to process single
1      input records.  A rule consists of a "pattern" and an "action".
1      'awk' reads an input record; then, for each rule, if the input
1      record satisfies the rule's pattern, 'awk' executes the rule's
1      action.  Otherwise, the rule does nothing for that input record.
1 
1 Rvalue
1      A value that can appear on the right side of an assignment
1      operator.  In 'awk', essentially every expression has a value.
1      These values are rvalues.
1 
1 Scalar
1      A single value, be it a number or a string.  Regular variables are
1      scalars; arrays and functions are not.
1 
1 Search Path
1      In 'gawk', a list of directories to search for 'awk' program source
1      files.  In the shell, a list of directories to search for
1      executable programs.
1 
1 'sed'
1      See "Stream Editor."
1 
1 Seed
1      The initial value, or starting point, for a sequence of random
1      numbers.
1 
1 Shell
1      The command interpreter for Unix and POSIX-compliant systems.  The
1      shell works both interactively, and as a programming language for
1      batch files, or shell scripts.
1 
1 Short-Circuit
1      The nature of the 'awk' logical operators '&&' and '||'.  If the
1      value of the entire expression is determinable from evaluating just
1      the lefthand side of these operators, the righthand side is not
1      evaluated.  (⇒Boolean Ops.)
1 
1 Side Effect
1      A side effect occurs when an expression has an effect aside from
1      merely producing a value.  Assignment expressions, increment and
1      decrement expressions, and function calls have side effects.
1      (⇒Assignment Ops.)
1 
1 Single Precision
1      An internal representation of numbers that can have fractional
1      parts.  Single precision numbers keep track of fewer digits than do
1      double precision numbers, but operations on them are sometimes less
1      expensive in terms of CPU time.  This is the type used by some
1      ancient versions of 'awk' to store numeric values.  It is the C
1      type 'float'.
1 
1 Space
1      The character generated by hitting the space bar on the keyboard.
1 
1 Special File
1      A file name interpreted internally by 'gawk', instead of being
1      handed directly to the underlying operating system--for example,
1      '/dev/stderr'.  (⇒Special Files.)
1 
1 Statement
1      An expression inside an 'awk' program in the action part of a
1      pattern-action rule, or inside an 'awk' function.  A statement can
1      be a variable assignment, an array operation, a loop, etc.
1 
1 Stream Editor
1      A program that reads records from an input stream and processes
1      them one or more at a time.  This is in contrast with batch
1      programs, which may expect to read their input files in entirety
1      before starting to do anything, as well as with interactive
1      programs which require input from the user.
1 
1 String
1      A datum consisting of a sequence of characters, such as 'I am a
1      string'.  Constant strings are written with double quotes in the
11      'awk' language and may contain escape sequences.  (⇒Escape
      Sequences.)
1 
1 Tab
1      The character generated by hitting the 'TAB' key on the keyboard.
1      It usually expands to up to eight spaces upon output.
1 
1 Text Domain
1      A unique name that identifies an application.  Used for grouping
1      messages that are translated at runtime into the local language.
1 
1 Timestamp
1      A value in the "seconds since the epoch" format used by Unix and
1      POSIX systems.  Used for the 'gawk' functions 'mktime()',
1      'strftime()', and 'systime()'.  See also "Epoch," "GMT," and "UTC."
1 
1 Unix
1      A computer operating system originally developed in the early
1      1970's at AT&T Bell Laboratories.  It initially became popular in
1      universities around the world and later moved into commercial
1      environments as a software development system and network server
1      system.  There are many commercial versions of Unix, as well as
1      several work-alike systems whose source code is freely available
1      (such as GNU/Linux, NetBSD (http://www.netbsd.org), FreeBSD
1      (https://www.freebsd.org), and OpenBSD (http://www.openbsd.org)).
1 
1 UTC
1      The accepted abbreviation for "Universal Coordinated Time."  This
1      is standard time in Greenwich, England, which is used as a
1      reference time for day and date calculations.  See also "Epoch" and
1      "GMT."
1 
1 Variable
1      A name for a value.  In 'awk', variables may be either scalars or
1      arrays.
1 
1 Whitespace
1      A sequence of space, TAB, or newline characters occurring inside an
1      input record or a string.
1