(gawk.info.gz) PC Using

Info Catalog (gawk.info.gz) PC Testing (gawk.info.gz) PC Installation (gawk.info.gz) Cygwin
 
 B.3.1.4 Using `gawk' on PC Operating Systems
 ............................................
 
 With the exception of the Cygwin environment, the `|&' operator and
 TCP/IP networking ( TCP/IP Networking) are not supported for
 MS-DOS or MS-Windows.  EMX (OS/2 only) does support at least the `|&'
 operator.
 
    The MS-DOS and MS-Windows versions of `gawk' search for program
 files as described in  AWKPATH Variable.  However, semicolons
 (rather than colons) separate elements in the `AWKPATH' variable.  If
 `AWKPATH' is not set or is empty, then the default search path for
 MS-Windows and MS-DOS versions is `".;c:/lib/awk;c:/gnu/lib/awk"'.
 
    The search path for OS/2 (32 bit, EMX) is determined by the prefix
 directory (most likely `/usr' or `c:/usr') that has been specified as
 an option of the `configure' script like it is the case for the Unix
 versions.  If `c:/usr' is the prefix directory then the default search
 path contains `.' and `c:/usr/share/awk'.  Additionally, to support
 binary distributions of `gawk' for OS/2 systems whose drive `c:' might
 not support long file names or might not exist at all, there is a
 special environment variable.  If `UNIXROOT' specifies a drive then
 this specific drive is also searched for program files.  E.g., if
 `UNIXROOT' is set to `e:' the complete default search path is
 `".;c:/usr/share/awk;e:/usr/share/awk"'.
 
    An `sh'-like shell (as opposed to `command.com' under MS-DOS or
 `cmd.exe' under MS-Windows or OS/2) may be useful for `awk' programming.
 The DJGPP collection of tools includes an MS-DOS port of Bash, and
 several shells are available for OS/2, including `ksh'.
 
    Under MS-Windows, OS/2 and MS-DOS, `gawk' (and many other text
 programs) silently translate end-of-line `"\r\n"' to `"\n"' on input
 and `"\n"' to `"\r\n"' on output.  A special `BINMODE' variable
 (c.e.)  allows control over these translations and is interpreted as
 follows:
 
    * If `BINMODE' is `"r"', or one, then binary mode is set on read
      (i.e., no translations on reads).
 
    * If `BINMODE' is `"w"', or two, then binary mode is set on write
      (i.e., no translations on writes).
 
    * If `BINMODE' is `"rw"' or `"wr"' or three, binary mode is set for
      both read and write.
 
    * `BINMODE=NON-NULL-STRING' is the same as `BINMODE=3' (i.e., no
      translations on reads or writes).  However, `gawk' issues a warning
      message if the string is not one of `"rw"' or `"wr"'.
 
 The modes for standard input and standard output are set one time only
 (after the command line is read, but before processing any of the `awk'
 program).  Setting `BINMODE' for standard input or standard output is
 accomplished by using an appropriate `-v BINMODE=N' option on the
 command line.  `BINMODE' is set at the time a file or pipe is opened
 and cannot be changed mid-stream.
 
    The name `BINMODE' was chosen to match `mawk' ( Other
 Versions).  `mawk' and `gawk' handle `BINMODE' similarly; however,
 `mawk' adds a `-W BINMODE=N' option and an environment variable that
 can set `BINMODE', `RS', and `ORS'.  The files `binmode[1-3].awk'
 (under `gnu/lib/awk' in some of the prepared distributions) have been
 chosen to match `mawk''s `-W BINMODE=N' option.  These can be changed
 or discarded; in particular, the setting of `RS' giving the fewest
 "surprises" is open to debate.  `mawk' uses `RS = "\r\n"' if binary
 mode is set on read, which is appropriate for files with the
 MS-DOS-style end-of-line.
 
    To illustrate, the following examples set binary mode on writes for
 standard output and other files, and set `ORS' as the "usual"
 MS-DOS-style end-of-line:
 
      gawk -v BINMODE=2 -v ORS="\r\n" ...
 
 or:
 
      gawk -v BINMODE=w -f binmode2.awk ...
 
 These give the same result as the `-W BINMODE=2' option in `mawk'.  The
 following changes the record separator to `"\r\n"' and sets binary mode
 on reads, but does not affect the mode on standard input:
 
      gawk -v RS="\r\n" --source "BEGIN { BINMODE = 1 }" ...
 
 or:
 
      gawk -f binmode1.awk ...
 
 With proper quoting, in the first example the setting of `RS' can be
 moved into the `BEGIN' rule.
 
Info Catalog (gawk.info.gz) PC Testing (gawk.info.gz) PC Installation (gawk.info.gz) Cygwin
automatically generated by info2html