NAME
|
sed – stream editor |
SYNOPSIS
|
sed [ –n ] [ –g ] [ –e script ] [ –f sfile ] [ file ... ] |
DESCRIPTION
Sed copies the named files (standard input default) to the standard
output, edited according to a script of commands. The –f option
causes the script to be taken from file sfile; these options accumulate.
If there is just one –e option and no –f's, the option –e may be
omitted. The –n option suppresses the default
output; –g causes all substitutions to be global, as if suffixed
g.
a\ text Append. Place text on the output before reading the next input line. b label Branch to the : command bearing the label. If label is empty, branch to the end of the script. c\ 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. d Delete the pattern space. Start the next cycle. D Delete the initial segment of the pattern space through the first newline. Start the next cycle. g Replace the contents of the pattern space by the contents of the hold space. G Append the contents of the hold space to the pattern space. h Replace the contents of the hold space by the contents of the pattern space. H Append the contents of the pattern space to the hold space. i\ text Insert. Place text on the standard output. n Copy the pattern space to the standard output. Replace the pattern space with the next line of input. N Append the next line of input to the pattern space with an embedded newline. (The current line number changes.) p Print. Copy the pattern space to the standard output. P Copy the initial segment of the pattern space through the first newline to the standard output. q Quit. Branch to the end of the script. Do not start a new cycle. r rfile Read the contents of rfile. Place them on the output before reading the next input line. s/regular–expression/replacement/flags
w wfile Write. Append the pattern space to wfile. x Exchange the contents of the pattern and hold spaces. y/string1/string2/
# Comment. Ignore the rest of the line. : label This command does nothing; it bears a label for b and t commands to branch to. = Place the current line number on the standard output as a line. { Execute the following commands through a matching } only when the pattern space is selected.
|
EXAMPLES
sed 10q file
/^$/d drop empty lines s/ */\ replace blanks by newlines /g /^$/d' chapter*
${
//N if current line is empty, append next line /^\n$/D' if two lines are empty, delete the first
|
SOURCE
|
/sys/src/cmd/sed.c |
SEE ALSO
|
ed(1), grep(1), awk(1), lex(1), sam(1), regexp(6) L. E. McMahon, `SED -- A Non–interactive Text Editor', Unix Research System Programmer's Manual, Volume 2. |
BUGS
|
If input is from a pipe, buffering may consume characters beyond
a line on which a q command is executed. |