SED (1)
a Stream EDitor
SYNOPSIS
sed [-n] [-V] [--quiet] [--silent] [--version] [--help]
[-e script] [--expression=script]
[-f script-file] [--file=script-file]
[script-if-no-other-script]
[file...]
DESCRIPTION
\*(Sd is a stream editor.
A stream editor is used to perform basic text
transformations on an input stream
(a file or input from a pipeline).
While in some ways similar to an editor which
permits scripted edits (such as ed),
\*(sd works by making only one pass over the
input(s), and is consequently more efficient.
But it is \*(sd's ability to filter text in a pipeline
which particularly distinguishes it from other types of
editors.
OPTIONS
\*(Sd may be invoked with the following command-line options:
-V
--version
Print out the version of sed that is being run and a copyright notice,
then exit.
-h
--help
Print a usage message briefly summarizing these command-line options
and the bug-reporting address,
then exit.
-n
--quiet
--silent
By default, \*(sd will print out the pattern space
at the end of each cycle through the script.
These options disable this automatic printing,
and \*(sd will only produce output when explicitly told to
via the
p
command.
-e \fIscript\fP
--expression= script
Add the commands in
script
to the set of commands to be run while processing the input.
-f \fIscript-file\fP
--file= script-file
Add the commands contained in the file
script-file
to the set of commands to be run while processing the input.
If no
-e , -f , --expression ,
or
--file
options are given on the command-line,
then the first non-option argument on the command line is
taken to be the
script
to be executed.
If any command-line parameters remain after processing the above,
these parameters are interpreted as the names of input files to
be processed.
A file name of
-
refers to the standard input stream.
The standard input will processed if no file names are specified.
Addresses
\*(Sd commands can be given with no addresses, in which
case the command will be executed for all input lines;
with one address, in which case the command will only be executed
for input lines which match that address; or with two
addresses, in which case the command will be executed
for all input lines which match the inclusive range of
lines starting from the first address and continuing to
the second address.
Three things to note about address ranges:
the syntax is
addr1 , addr2
(i.e., the addresses are separated by a comma);
the line which
addr1
matched will always be accepted,
even if
addr2
selects an earlier line;
and if
addr2
is a
regexp ,
it will not be tested against the line that
addr1
matched.
After the address (or address-range),
and before the command, a
!
may be inserted,
which specifies that the command shall only be
executed if the address (or address-range) does
not
match.
The following address types are supported:
number
Match only the specified line
number .
first ~ step
Match every
step 'th
line starting with line
first .
For example, ``sed -n 1~2p'' will print all the odd-numbered lines in
the input stream, and the address 2~5 will match every fifth line,
starting with the second.
(This is a GNU extension.)
$
/ regexp /
Match lines matching the regular expression
regexp .
\fR\e\fPc regexp c
Match lines matching the regular expression
regexp .
The
c
may be any character.
Regular expressions
POSIX.2 BREs
should
be supported, but they aren't completely yet.
The
\en
sequence in a regular expression matches the newline character.
There are also some GNU extensions.
[XXX FIXME: more needs to be said.
At the very least, a reference to another document which
describes what is supported should be given.]
Miscellaneous notes
This version of sed supports a
\e <newline>
sequence in
all regular expressions, the
replacement
part of a substitute (s) command, and in the
source
and
dest
parts of a transliterate (y) command.
The \e is stripped, and the newline is kept.
SEE ALSO
awk (1),
ed (1),
expr (1),
emacs (1),
perl (1),
tr (1),
vi (1),
regex (5)
[well, one
ought
to be written... XXX],
sed.info,
any of various books on \*(sd,
the \*(sd FAQ (http://www.wollery.demon.co.uk/sedtut10.txt,
http://www.ptug.org/sed/sedfaq.htm).
BUGS
E-mail bug reports to
bug-gnu-utils@gnu.org .
Be sure to include the word ``sed'' somewhere in the ``Subject:'' field.
|