wagoneers.com





User Commands						   awk(1)



NAME
     awk - pattern scanning and	processing language

SYNOPSIS
     /usr/bin/awk [ -f progfile	] [ -Fc	] [ 'prog' ]
	  [ parameters ] [ filename...]

     /usr/xpg4/bin/awk [ -F ERE	] [ -v assignment ... ]
	  'program' | -f progfile ...  [ argument ... ]

DESCRIPTION
     The /usr/xpg4/bin/awk utility is described	 on  the  nawk(1)
     manual page.

     The /usr/bin/awk utility scans each input filename	for lines
     that  match any of	a set of patterns specified in prog.  The
     prog string must be enclosed in single quotes (') to protect
     it	from the shell.	 For each pattern in prog there	may be an
     associated	action	performed  when	 a  line  of  a	 filename
     matches  the  pattern.  The set of	pattern-action statements
     may appear	literally as prog or in	a file specified with the
     -f	progfile option.  Input	files are read in order; if there
     are no files, the standard	input is read.	The file name '-'
     means the standard	input.

OPTIONS
     -f	progfile    awk	uses the set of	patterns  it  reads  from
		    progfile.

     -Fc	    Use	the character c	as  the	 field	separator
		    (FS)  character.   See  the	 discussion of FS
		    below.

USAGE
  Input	Lines
     Each input	line is	matched	against	the  pattern  portion  of
     every  pattern-action  statement;	the  associated	action is
     performed for each	matched	pattern.   Any	filename  of  the
     form  var=value is	treated	as an assignment, not a	filename,
     and is executed at	the time it would have been opened if  it
     were  a filename.	Variables assigned in this manner are not
     available inside a	BEGIN rule, and	are assigned after previ-
     ously specified files have	been read.

     An	input line is normally made up	of  fields  separated  by
     white  spaces.  (This default can be changed by using the FS
     built-in variable or the -Fc option.)   The  default  is  to
     ignore  leading  blanks  and  to  separate	 fields	by blanks
     and/or tab	characters.  However, if FS is assigned	 a  value
     that  does	not include any	of the white spaces, then leading
     blanks are	not ignored.  The fields are denoted $1, $2, ...;
     $0	refers to the entire line.



SunOS 5.6	    Last change: 18 Mar	1997			1






User Commands						   awk(1)



  Pattern-action Statements
     A pattern-action statement	has the	form:

	  pattern { action }

     Either pattern or action may be omitted.	If  there  is  no
     action,  the  matching line is printed.  If there is no pat-
     tern,  the	 action	 is  performed	on  every   input   line.
     Pattern-action statements are separated by	newlines or semi-
     colons.

     Patterns are arbitrary Boolean combinations ( !, ||, &&, and
     parentheses)  of  relational expressions and regular expres-
     sions.  A relational expression is	one of the following:

	  expression relop expression
	  expression matchop regular_expression

     where a relop is any of the six relational	operators  in  C,
     and  a  matchop  is either	~ (contains) or	!~ (does not con-
     tain).  An	expression is an arithmetic expression,	 a  rela-
     tional expression,	the special expression

	  var in array

     or	a Boolean combination of these.

     Regular expressions are as	in egrep(1).   In  patterns  they
     must be surrounded	by slashes.  Isolated regular expressions
     in	a pattern apply	to the entire line.  Regular  expressions
     may  also	occur  in  relational expressions.  A pattern may
     consist of	two patterns separated by a comma; in this  case,
     the action	is performed for all lines between the occurrence
     of	the first pattern to the occurrence of	the  second  pat-
     tern.

     The special patterns BEGIN	and END	may be	used  to  capture
     control  before the first input line has been read	and after
     the last input line has been read respectively.  These  key-
     words do not combine with any other patterns.

  Built-in Variables
     Built-in variables	include:

	  FILENAME	 name of the current input file

	  FS		 input field separator regular expression
			 (default blank	and tab)

	  NF		 number	of fields in the current record

	  NR		 ordinal number	of the current record



SunOS 5.6	    Last change: 18 Mar	1997			2






User Commands						   awk(1)



	  OFMT		 output	format for numbers (default %.6g)

	  OFS		 output	field separator	(default blank)

	  ORS		 output	record	separator  (default  new-
			 line)

	  RS		 input	record	separator  (default  new-
			 line)

     An	action is a sequence of	statements.  A statement  may  be
     one of the	following:

	  if ( expression ) statement [	else statement ]
	  while	( expression ) statement
	  do statement while ( expression )
	  for (	expression ; expression	; expression ) statement
	  for (	var in array ) statement
	  break
	  continue
	  { [ statement	] ... }
	  expression	 # commonly variable = expression
	  print	[ expression-list ] [ >expression ]
	  printf format	[ , expression-list ] [	>expression ]
	  next	    # skip remaining patterns on this input line
	  exit [expr]	 # skip	the rest of the	input; exit status is expr

     Statements	are terminated by semicolons, newlines,	or  right
     braces.  An empty expression-list stands for the whole input
     line.  Expressions	take  on  string  or  numeric  values  as
     appropriate,  and	are built using	the operators +, -, *, /,
     %,	^ and concatenation (indicated by a blank).   The  opera-
     tors  ++,	--, +=,	-=, *=,	/=, %=,	^=, >, >=, <, <=, ==, !=,
     and ?:  are also available	in expressions.	 Variables may be
     scalars,  array  elements	(denoted x[i]),	or fields.  Vari-
     ables are initialized to the null	string	or  zero.   Array
     subscripts	 may be	any string, not	necessarily numeric; this
     allows for	a form of associative memory.	String	constants
     are quoted	(""), with the usual C escapes recognized within.

     The print statement prints	its  arguments	on  the	 standard
     output, or	on a file if >expression is present, or	on a pipe
     if	'|cmd' is present.  The	output resulted	 from  the  print
     statement	is terminated by the output record separator with
     each argument separated by	the current output field  separa-
     tor.   The	 printf	 statement  formats  its  expression list
     according to the format (see printf(3S)).

  Built-in Functions
     The arithmetic functions are as follows:

	  cos(x)	 Return	 cosine	 of  x,	 where	x  is  in



SunOS 5.6	    Last change: 18 Mar	1997			3






User Commands						   awk(1)



			 radians.

	  sin(x)	 Return	sine of	x, where x is in radians.

	  exp(x)	 Return	the exponential	function of x.

	  log(x)	 Return	the natural logarithm of x.

	  sqrt(x)	 Return	the square root	of x.

	  int(x)	 Truncate its argument to an integer.  It
			 will be truncated toward 0 when x > 0.

     The string	functions are as follows:

	  index(s, t)	 Return	the position in	 string	 s  where
			 string	 t  first occurs, or 0 if it does
			 not occur at all.

	  int(s)	 truncates s to	an integer value.   If	s
			 is not	specified, $0 is used.

	  length(s)	 Return	the length of its argument  taken
			 as  a	string,	 or  of	the whole line if
			 there is no argument.

	  match(s, re)	 Return	the position in	 string	 s  where
			 the  regular  expression re occurs, or	0
			 if it does not	occur at all.

	  split(s, a, fs)
			 Split the string s into  array	 elements
			 a[1],	a[2],  a[n],  and returns n.  The
			 separation  is	 done  with  the  regular
			 expression  fs	or with	the field separa-
			 tor FS	if fs is not given.

	  sprintf(fmt, expr, expr,...)
			 Format	the expressions	according to  the
			 printf(3S)   format  given  by	 fmt  and
			 returns the resulting string.

	  substr(s, m, n)
			 returns the n-character substring  of	s
			 that begins at	position m.

     The input/output function is as follows:

	  getline	 Set $0	to the next input record from the
			 current  input	 file.	getline	returns	1
			 for successful	input, 0 for end of file,
			 and -1	for an error.



SunOS 5.6	    Last change: 18 Mar	1997			4






User Commands						   awk(1)



  Large	File Behavior
     See largefile(5) for the description of the behavior of  awk
     when  encountering	 files	greater	 than or equal to 2 Gbyte
     (2**31 bytes).

EXAMPLES
     Print lines longer	than 72	characters:

	  length > 72

     Print first two fields in opposite	order:

	  { print $2, $1 }

     Same, with	input fields separated by comma	and/or blanks and
     tabs:

	  BEGIN	    { FS = ",[ \t]*|[ \t]+" }
	       { print $2, $1 }

     Add up first column, print	sum and	average:

	       { s += $1 }
	  END  { print "sum is", s, " average is", s/NR	}

     Print fields in reverse order:

	  { for	(i = NF; i > 0;	--i) print $i }

     Print all lines between start/stop	pairs:

	  /start/, /stop/

     Print all lines whose first field is different from previous
     one:

	  $1 !=	prev { print; prev = $1	}

     Print a file, filling in page numbers starting at 5:

	  /Page/    { $2 = n++;	}
	       { print }

     Assuming this program is in a file	named prog, the	following
     command  line  prints  the	 file  input  numbering	its pages
     starting at 5:  awk -f prog n=5 input.

ENVIRONMENT
     See environ(5) for	descriptions of	the following environment
     variables	that  affect  the execution of awk:  LC_CTYPE and
     LC_MESSAGES.




SunOS 5.6	    Last change: 18 Mar	1997			5






User Commands						   awk(1)



ATTRIBUTES
     See attributes(5) for descriptions	of the	following  attri-
     butes:


  /usr/bin/awk
     __________________________________
    | ATTRIBUTE	TYPE|  ATTRIBUTE VALUE|
    |__________________________________
    | Availability  |  SUNWesu	      |
    | CSI	    |  Enabled	      |
    |_______________|_________________|

  /usr/xpg4/bin/awk
     __________________________________
    | ATTRIBUTE	TYPE|  ATTRIBUTE VALUE|
    |__________________________________
    | Availability  |  SUNWxcu4	      |
    | CSI	    |  Enabled	      |
    |_______________|_________________|

SEE ALSO
     egrep(1),	grep(1),  nawk(1),  sed(1),  printf(3S),   attri-
     butes(5), environ(5), largefile(5), xpg4(5)

NOTES
     Input white space is not preserved	on output if  fields  are
     involved.

     There  are	 no  explicit  conversions  between  numbers  and
     strings.	To  force an expression	to be treated as a number
     add 0 to it; to force it to be treated as a string	concaten-
     ate the null string ("") to it.

SunOS 5.6	    Last change: 18 Mar	1997			6





wagoneers.com




Select pages from WAGONEERS.COM: 

the Full Size Jeep decal! © 1998-2000 John Meister
Buy this FSJ decal...   ...use PayPal to pay for it!
Make payments with PayPal, or sign up here!


a viable option to bloated and unstable code


AMSOIL synthetic lubricants and filters
(please use customer #283461)

Independent Lifetime Dealer John Meister - customer #283461 - since 1983


Shop AMAZON.com from wagoneers.com! 
Search:
Keywords:
SHOP from wagoneers.com: in Association with Amazon.com



these pages protected by US Copyright laws
John Meister copyright © 1995-2001 all rights reserved
contact john-at-wagoneers.com
"Join the fight against spam (UCE)! Eliminate spam!" Washington State has a $500 fine for "spam"
(unsolicited commercial email)!


this is an approved Family-Friendly Site       read the Bible