From 72cc9641f80b6981cc97fd66feb8d5842ea5ed03 Mon Sep 17 00:00:00 2001
From: Denis Vlasenko
Date: Tue, 13 Nov 2007 17:13:31 +0000
Subject: add sed mini-doc
---
editors/sed_summary.htm | 220 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 220 insertions(+)
create mode 100644 editors/sed_summary.htm
(limited to 'editors/sed_summary.htm')
diff --git a/editors/sed_summary.htm b/editors/sed_summary.htm
new file mode 100644
index 000000000..4ac9b16f6
--- /dev/null
+++ b/editors/sed_summary.htm
@@ -0,0 +1,220 @@
+
+
+Command Summary for sed (sed & awk, Second Edition)
+
+
+
+
+Command Summary for sed
+
+
+
+- : :label
+- Label a line in the script for the transfer of control by
+b or t.
+label may contain up to seven characters.
+(The POSIX standard says that an implementation can allow longer
+labels if it wishes to. GNU sed allows labels to be of any length.)
+
+
+
+= [address]=
+Write to standard output the line number of addressed line.
+
+
+a [address]a\
+text
+
+Append text
+following each line matched by address. If
+text goes over more than one line, newlines
+must be "hidden" by preceding them with a backslash. The
+text will be terminated by the first
+newline that is not hidden in this way. The
+text is not available in the pattern space
+and subsequent commands cannot be applied to it. The results of this
+command are sent to standard output when the list of editing commands
+is finished, regardless of what happens to the current line in the
+pattern space.
+
+
+b [address1[,address2]]b[label]
+Transfer control unconditionally (branch) to
+:label elsewhere in
+script. That is, the command following the
+label is the next command applied to the
+current line. If no label is specified,
+control falls through to the end of the script, so no more commands
+are applied to the current line.
+
+
+c [address1[,address2]]c\
+text
+
+Replace (change) the lines selected by the address with
+text. When a range of lines is specified,
+all lines as a group are replaced by a single copy of
+text. The newline following each line of
+text must be escaped by a backslash, except
+the last line. The contents of the pattern space are, in effect,
+deleted and no subsequent editing commands can be applied to it (or to
+text).
+
+
+d [address1[,address2]]d
+Delete line(s) from pattern space. Thus, the line is not passed to standard
+output. A new line of input is read and editing resumes with first
+command in script.
+
+
+D [address1[,address2]]D
+Delete first part (up to embedded newline) of multiline pattern space created
+by N command and resume editing with first command in
+script. If this command empties the pattern space, then a new line
+of input is read, as if the d command had been executed.
+
+
+g [address1[,address2]]g
+Copy (get) contents of hold space (see h or
+H command) into the pattern space, wiping out
+previous contents.
+
+
+G [address1[,address2]]G
+Append newline followed by contents of hold space (see
+h or H command) to contents of
+the pattern space. If hold space is empty, a newline is still
+appended to the pattern space.
+
+
+h [address1[,address2]]h
+Copy pattern space into hold space, a special temporary buffer.
+Previous contents of hold space are wiped out.
+
+
+H [address1[,address2]]H
+Append newline and contents of pattern space to contents of the hold
+space. Even if hold space is empty, this command still appends the
+newline first.
+
+
+i [address1]i\
+text
+
+Insert text before each line matched by
+address. (See a for
+details on text.)
+
+
+l [address1[,address2]]l
+List the contents of the pattern space, showing nonprinting characters
+as ASCII codes. Long lines are wrapped.
+
+
+n [address1[,address2]]n
+Read next line of input into pattern space. Current line is sent to
+standard output. New line becomes current line and increments line
+counter. Control passes to command following n
+instead of resuming at the top of the script.
+
+
+N [address1[,address2]]N
+Append next input line to contents of pattern space; the new line is
+separated from the previous contents of the pattern space by a newline.
+(This command is designed to allow pattern matches across two
+lines. Using \n to match the embedded newline, you can match
+patterns across multiple lines.)
+
+
+p [address1[,address2]]p
+Print the addressed line(s). Note that this can result in duplicate
+output unless default output is suppressed by using "#n" or
+the -n
+
+command-line option. Typically used before commands that change flow
+control (d, n,
+b) and might prevent the current line from being
+output.
+
+
+P [address1[,address2]]P
+Print first part (up to embedded newline) of multiline pattern space
+created by N command. Same as p
+if N has not been applied to a line.
+
+
+q [address]q
+Quit when address is encountered. The
+addressed line is first written to output (if default output is not
+suppressed), along with any text appended to it by previous
+a or r commands.
+
+
+r [address]r file
+Read contents of file and append after the
+contents of the pattern space. Exactly one space must be put between
+r and the filename.
+
+
+s [address1[,address2]]s/pattern/replacement/[flags]
+Substitute replacement for
+pattern on each addressed line. If pattern
+addresses are used, the pattern // represents the
+last pattern address specified. The following flags can be specified:
+
+
+
+ - n
+ - Replace nth instance of
+ /pattern/ on each addressed line.
+ n is any number in the range 1 to 512, and
+ the default is 1.
+
+ - g
+ - Replace all instances of /pattern/ on each
+ addressed line, not just the first instance.
+
+ - p
+ - Print the line if a successful substitution is done. If several
+ successful substitutions are done, multiple copies of the line will be
+ printed.
+
+ - w file
+ - Write the line to file if a replacement
+ was done. A maximum of 10 different files can be opened.
+
+
+
+
+
+
+t [address1[,address2]]t [label]
+Test if successful substitutions have been made on addressed lines,
+and if so, branch to line marked by :label.
+(See b and :.) If label is not
+specified, control falls through to bottom of script.
+
+
+w [address1[,address2]]w file
+Append contents of pattern space to file.
+This action occurs when the command is encountered rather than when
+the pattern space is output. Exactly one space must separate the
+w and the filename. A maximum of 10 different
+files can be opened in a script. This command will create the file if
+it does not exist; if the file exists, its contents will be
+overwritten each time the script is executed. Multiple write commands
+that direct output to the same file append to the end of the file.
+
+
+x [address1[,address2]]x
+Exchange contents of the pattern space with the contents of the hold
+space.
+
+
+y [address1[,address2]]y/abc/xyz/
+Transform each character by position in string
+abc to its equivalent in string
+xyz.
+
+
+
--
cgit v1.2.3