*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> sed (1)              
Title
Content
Arch
Section
 

Contents


SED(1)									SED(1)


NAME    [Toc]    [Back]

     sed - stream editor

SYNOPSIS    [Toc]    [Back]

     sed [-n] script [file ...]

     sed [-n] [-e script]...  [-f script_file]... [file	...]

DESCRIPTION    [Toc]    [Back]

     sed copies	the named files	(standard input	default) to the	standard
     output, edited according to a script of commands.	The -e option causes
     the script	to be take from	the script option argument.  The -f option
     causes the	script to be taken from	file script_file.  The scripts from
     the -e and	-f options accumulate.	If there is just one -e	option and no
     -f	options, the flag -e may be omitted.  The -n option suppresses the
     default output.

     sed has two operating modes.  By default, sed operates compatibly with
     certain earlier versions of System	V sed. If the environment variable
     _XPG is defined, and has a	numeric	value greater than 0, sed operates in
     conformance with the X/Open XPG4 specifications.  In the backward
     compatibility mode, when -n is not	specified and the "p" option to	the
     "s" command is used, the pattern space will be output only	once, no
     matter how	many substitutions are made.  Also, the	format of the output
     of	the "l"	command	will differ in some details from the XPG4 format.

     Note that the null	string is a part of the	solutions when _XPG numerical
     value > 0.	i.e., sed -e 's/b*/a/' will insert "a" at the beginning	of any
     input as "b*" would match an empty	string.	To substitute the first	nonempty
 string consisting of	one or more letter b's with "a", then it
     should be:	sed -e 's/bb*/a/'

     A script consists of editing commands, one	per line, of the following
     form:

	  [ address [ ,	address	] ] function [ arguments ]

     Zero or more blank	characters are accepted	before the first address and
     before command.

     Each input	file is	a text file to be edited.  The files are read in the
     order given.

     In	normal operation, sed cyclically copies	a line of input	into a pattern
     space (unless there is something left after a D command), applies in
     sequence all commands whose addresses select that pattern space, and at
     the end of	the script copies the pattern space to the standard output
     (except when -n is	specified) and deletes the pattern space.  Whenever
     the pattern space is written to standard output or	a named	file, sed will
     immediately follow	it with	a newline character.





									Page 1






SED(1)									SED(1)



     Some of the commands use a	hold space to save all or part of the pattern
     space for subsequent retrieval.  The hold and pattern spaces each hold at
     least 8192	bytes.

     An	address	is either a decimal number that	counts input lines
     cumulatively across files,	a $ that addresses the last line of input, or
     a context address,	i.e., a	/regular expression/ in	the style of ed(1)
     modified thus:

	  In a context address,	the construction \?regular expression?,	where
	       ?  is any character, is identical to /regular expression/.
	       Note that in the	context	address	\xabc\xdefx, the second	x
	       stands for itself, so that the regular expression is abcxdef.
	  The escape sequence \n matches a new-line embedded in	the pattern
	       space.
	  A period . matches any character except the terminal new-line	of the
	       pattern space.
	  A command line with no addresses selects every pattern space.
	  A command line with one address selects each pattern space that
	       matches the address.
	  A command line with two addresses selects the	inclusive range	from
	       the first pattern space that matches the	first address through
	       the next	pattern	space that matches the second.	(If the	second
	       address is a number less	than or	equal to the line number first
	       selected, only one line is selected.)  Thereafter the process
	       is repeated, looking again for the first	address.
	  \< and \> are	not currently supported.

     Editing commands can be applied only to non-selected pattern spaces by
     use of the	negation function ! (below).

     In	the following list of functions	the maximum number of permissible
     addresses for each	function is indicated in parentheses.

     The text argument consists	of one or more lines, all but the last of
     which end with \ to hide the new-line.  Backslashes in text are treated
     like backslashes in the replacement string	of an s	command, and may be
     used to protect initial blanks and	tabs against the stripping that	is
     done on every script line.	 The rfile or wfile argument must terminate
     the command line and must be preceded by exactly one blank.  Each wfile
     is	created	before processing begins.  There can be	at most	10 distinct
     wfile arguments.

     (1)a\
     text      Append.	Place text on the output before	reading	the next input
	       line.
     (2)b label
	       Branch to the : command bearing the label.  If label is empty,
	       branch to the end of the	script.
     (2)c\





									Page 2






SED(1)									SED(1)



     text      Change.	Delete the pattern space.  With	0 or 1 address or at
	       the end of a 2-address range, place text	on the output.	Start
	       the next	cycle.
     (2)d      Delete the pattern space.  Start	the next cycle.
     (2)D      Delete the initial segment of the pattern space through the
	       first new-line.	Start the next cycle.
     (2)g      Replace the contents of the pattern space by the	contents of
	       the hold	space.
     (2)G      Append the contents of the hold space to	the pattern space.
     (2)h      Replace the contents of the hold	space by the contents of the
	       pattern space.
     (2)H      Append the contents of the pattern space	to the hold space.
     (1)i\
     text      Insert.	Place text on the standard output.
     (2)l      List the	pattern	space on the standard output in	an unambiguous
	       form.  Non-printable characters are displayed in	octal notation
	       and long	lines are folded.
     (2)n      Copy the	pattern	space to the standard output.  Replace the
	       pattern space with the next line	of input.
     (2)N      Append the next line of input to	the pattern space with an
	       embedded	new-line.  (The	current	line number changes.)
     (2)p      Print.  Copy the	pattern	space to the standard output.
     (2)P      Copy the	initial	segment	of the pattern space through the first
	       new-line	to the standard	output.
     (1)q      Quit.  Branch to	the end	of the script.	Do not start a new
	       cycle.
     (2)r rfile
	       Read the	contents of rfile.  Place them on the output before
	       reading the next	input line.
     (2)s/regular expression/replacement/flags
	       Substitute the replacement string for instances of the regular
	       expression in the pattern space.	 Any character may be used
	       instead of /.  For a fuller description see ed(1).  Flags is
	       zero or more of:
	       n	 n= 1 -	512.  Substitute for just the n	th occurrence
			 of the	regular	expression.
	       g	 Global.  Substitute for all nonoverlapping instances
			 of the	regular	expression rather than just the	first
			 one.
	       p	 Print the pattern space if a replacement was made.
	       w wfile	 Write.	 Append	the pattern space to wfile if a
			 replacement was made.
     (2)t label
	       Test.  Branch to	the : command bearing the label	if any
	       substitutions have been made since the most recent reading of
	       an input	line or	execution of a t.  If label is empty, branch
	       to the end of the script.
     (2)w wfile
	       Write.  Append the pattern space	to wfile.
     (2)x      Exchange	the contents of	the pattern and	hold spaces.





									Page 3






SED(1)									SED(1)



     (2)y/string1/string2/
	       Transform.  Replace all occurrences of characters in string1
	       with the	corresponding character	in string2.  The lengths of
	       string1 and string2 must	be equal.
     (2)! function
	       Don't.  Apply the function (or group, if	function is {) only to
	       lines not selected by the address(es).
     (0): label
	       This command does nothing; it bears a label for b and t
	       commands	to branch to.
     (1)=      Place the current line number on	the standard output as a line.
     (2){      Execute the following commands through a	matching } only	when
	       the pattern space is selected.
     (0)       An empty	command	is ignored.
     (0)#      If a # appears as the first character on	a line of a script
	       file, then that entire line is treated as a comment, with one
	       exception.  If the character after the #	is an 'n', then	the
	       default output will be suppressed.  The rest of the line	after
	       #n is also ignored.  A script file must contain at least	one
	       non-comment line.

SEE ALSO    [Toc]    [Back]

      
      
     awk(1), ed(1), grep(1), regcomp(5).


									PPPPaaaaggggeeee 4444
[ Back ]
 Similar pages
Name OS Title
s2p OpenBSD a stream editor
psed OpenBSD a stream editor
sed Linux a Stream EDitor
sed HP-UX stream text editor
edit FreeBSD easy editor
ed FreeBSD text editor
red FreeBSD text editor
emacs Tru64 emacs editor
ld Tru64 link editor
ed OpenBSD text editor
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service