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