mirror of
git://git.suckless.org/sbase
synced 2024-12-22 15:04:53 +00:00
22921a859f
Fix "new sentence, new line" warnings throughout so that formatters can produce correct spacing between sentences. join.1 Remove unnecessary Ns macros. These are not necessary for delimeters, which get special treatment. xinstall.1 Fix date in manual. The contents were last modified on 2016-12-03, so use that instead of the invalid date. grep.1 Fix escape sequence for `\<` and `\>`. ed.1 Remove spurious `\\n` escape for the null-command.
158 lines
3.9 KiB
Groff
158 lines
3.9 KiB
Groff
.Dd 2015-10-08
|
|
.Dt SED 1
|
|
.Os sbase
|
|
.Sh NAME
|
|
.Nm sed
|
|
.Nd stream editor
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl nrE
|
|
.Ar script
|
|
.Op Ar file ...
|
|
.Nm
|
|
.Op Fl nrE
|
|
.Fl e Ar script
|
|
.Op Fl e Ar script
|
|
.Ar ...
|
|
.Op Fl f Ar scriptfile
|
|
.Ar ...
|
|
.Op Ar file ...
|
|
.Nm
|
|
.Op Fl nrE
|
|
.Op Fl e Ar script
|
|
.Ar ...
|
|
.Fl f Ar scriptfile
|
|
.Op Fl f Ar scriptfile
|
|
.Ar ...
|
|
.Op Ar file ...
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
reads line oriented output from
|
|
.Ar file
|
|
or stdin, applies the editing commands supplied by
|
|
.Ar script
|
|
or
|
|
.Ar scriptfile
|
|
and writes the edited stream to stdout.
|
|
.Sh OPTIONS
|
|
.Bl -tag -width Ds
|
|
.It Fl n
|
|
Suppress default printing at the end of each cycle.
|
|
.It Fl r E
|
|
Use extended regular expressions
|
|
.It Fl e Ar script
|
|
Append
|
|
.Ar script
|
|
to the list of editing commands.
|
|
.It Fl f Ar scriptfile
|
|
Append the commands from
|
|
.Ar scriptfile
|
|
to the list of editing commands.
|
|
.El
|
|
.Sh EXTENDED DESCRIPTION
|
|
Editing commands take the form
|
|
.Pp
|
|
[address[,address]]function
|
|
.Ss Addresses
|
|
Addresses are either blank, a positive decimal integer denoting a line
|
|
number, the character '$' denoting the last line of input, or a regular
|
|
expression.
|
|
A command with no addresses matches every line, one address matches
|
|
individual lines, and two addresses matches a range of lines from the
|
|
first to the second address inclusive.
|
|
.Ss Functions
|
|
.Bl -tag -width Ds
|
|
.It Ar a Op Ar text
|
|
Append text to output after end of current cycle.
|
|
.It Ar b Op Ar label
|
|
Branch to label.
|
|
If no label is provided branch to end of script.
|
|
.It Ar c Op Ar text
|
|
Change.
|
|
Delete addressed range and output text after end of current cycle.
|
|
.It Ar d
|
|
Delete pattern space and begin next cycle.
|
|
.It Ar D
|
|
Delete pattern space up to and including first newline and begin new
|
|
cycle without reading input.
|
|
If there is no newline, behave like d.
|
|
.It Ar g
|
|
Get.
|
|
Replace the pattern space with the hold space.
|
|
.It Ar G
|
|
Get.
|
|
Append a newline and the hold space to the pattern space.
|
|
.It Ar h
|
|
Hold.
|
|
Replace the hold space with the pattern space.
|
|
.It Ar H
|
|
Hold.
|
|
Append a newline and the pattern space to the hold space.
|
|
.It Ar i Op Ar text
|
|
Insert text in output.
|
|
.It Ar l
|
|
List? Write the pattern space replacing known non printing characters with
|
|
backslash escaped versions (\\\\, \\a, \\b, \\f, \\r, \\t, \\v).
|
|
Print bad UTF-8 sequences as \\ooo where ooo is a three digit octal
|
|
number.
|
|
Mark end of lines with '$'.
|
|
.It Ar n
|
|
Next.
|
|
Write pattern space (unless
|
|
.Fl n ) ,
|
|
read next line into pattern space, and continue current cycle.
|
|
If there is no next line, quit.
|
|
.It Ar N
|
|
Next.
|
|
Read next line, append newline and next line to pattern space, and
|
|
continue cycle.
|
|
If there is no next line, quit without printing current pattern space.
|
|
.It Ar p
|
|
Print current pattern space.
|
|
.It Ar P
|
|
Print current pattern space up to first newline.
|
|
.It Ar q
|
|
Quit.
|
|
.It Ar r file
|
|
Read file and write contents to output.
|
|
.It Ar s/re/text/flags
|
|
Find occurences of regular expression re in the pattern space and
|
|
replace with text.
|
|
A '&' in text is replaced with the entire match.
|
|
A \\d where d is a decimal digit 1-9 is replaced with the corresponding
|
|
match group from the regular expression.
|
|
\\n represents a newline in both the regular expression and replacement
|
|
text.
|
|
A literal newline in the replacement text must be preceded by a \\.
|
|
.Pp
|
|
Flags are
|
|
.Bl -tag -width Ds
|
|
.It Ar n
|
|
A positive decimal number denoting which match in the pattern space
|
|
to replace.
|
|
.It Ar g
|
|
Global.
|
|
Replace all matches in the pattern space.
|
|
.It Ar p
|
|
Print the pattern if a replacement was made.
|
|
.It Ar w file
|
|
Write the pattern space to file if a replacement was made.
|
|
.El
|
|
.It Ar t Op Ar label
|
|
Test.
|
|
Branch to corresponding label if a substitution has been made since the
|
|
last line was read or last t command was executed.
|
|
If no label is provided branch to end of script.
|
|
.It Ar w file
|
|
Write pattern space to file.
|
|
.It Ar x
|
|
Exchange hold space and pattern space.
|
|
.It Ar y/set1/set2/
|
|
Replace each occurrence of a character from set 1 with the corresponding
|
|
character from set 2.
|
|
.It Ar :label
|
|
Create a label for b and t commands.
|
|
.It Ar =
|
|
Write current input line number to output.
|
|
.El
|