From 78e51a8c6678b6e3dff3d619aa786669f531f4bc Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 14 Jan 2005 03:45:44 +0000 Subject: checkpoint --- man/man1/sed.html | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 300 insertions(+) create mode 100644 man/man1/sed.html (limited to 'man/man1/sed.html') diff --git a/man/man1/sed.html b/man/man1/sed.html new file mode 100644 index 00000000..c40874ad --- /dev/null +++ b/man/man1/sed.html @@ -0,0 +1,300 @@ + +sed(1) - Plan 9 from User Space + + + + +
+
+
SED(1)SED(1) +
+
+

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 flag −e may be + omitted. The −n option suppresses the default + output; −g causes all substitutions to be global, as if suffixed + g. +
+ + A script consists of editing commands, one per line, of the following + form:
+ +
+ + [address [, address] ] function [argument ...] +
+ + +
+ 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 under −n) and deletes the + pattern space. +
+ + 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, /regular-expression/, in the style + of regexp(7), with the added convention that \n matches a newline + embedded in 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. +
+ + Editing commands can be applied to non-selected pattern spaces + by use of the negation function ! (below). +
+ + An argument denoted text consists of one or more lines, all but + the last of which end with \ to hide the newline. 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. + +
+ + An argument denoted rfile or wfile 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 120 distinct + wfile arguments.
+ 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
+
+
+ + +
+ + 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 regexp(7). Flags is zero or more + of
+ g     Global. Substitute for all non-overlapping 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.
+ +
+ +
+ 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.
+ w          wfile
+
+
+ + +
+ + Write. Append the pattern space to wfile.
+ +
+ +
+ x          Exchange the contents of the pattern and hold spaces.
+ 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.
+ +
+ +
+ !function     Don’t. Apply the function (or group, if function is {) + only to lines not selected by the address(es).
+ : 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.
+ +
+ + +
+ + An empty command is ignored.
+ +
+ +
+ +
+

EXAMPLES
+ +
+ + sed 10q file
+
+
+ + Print the first 10 lines of the file.
+ +
+ sed '/^$/d'
+
+
+ + Delete empty lines from standard input.
+ +
+ sed 's/UNIX/& system/g'
+
+
+ + Replace every instance of UNIX by UNIX system. +
+ + +
+ sed 's/ *$//     drop trailing blanks
+ /^$/d                drop empty lines
+ s/    */\          replace blanks by newlines
+ /g
+ /^$/d' chapter*
+
+
+ + Print the files chapter1, chapter2, etc. one word to a line. +
+ + +
+ nroff −ms manuscript | sed '
+ ${
+ +
+ + /^$/p +
+
+
+ +           if last line of file is empty, print it
+ +
+ }
+ //N
            if current line is empty, append next line
+ /^\n$/D'         if two lines are empty, delete the first
+ +
+ + Delete all but one of each group of empty lines from a formatted + manuscript.
+ +
+ +
+

SOURCE
+ +
+ + /usr/local/plan9/src/cmd/sed.c
+
+
+

SEE ALSO
+ +
+ + ed(1), grep(1), awk(1), lex(1), sam(1), regexp(7)
+ 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.
+ +
+ +

+
+
+ + +
+
+
+Space Glenda +
+
+ + -- cgit v1.2.3