COHERENT manpages
This page displays the COHERENT manpage for sed [Stream editor].
List of available manpages
Index
sed -- Command Stream editor sed [ -n ] [-e command] [-f script] ... file ... sed is a non-interactive text editor. It reads input from each file, or from the standard input if no file is named. It edits the input according to commands given in the commands argument and the script files. It then writes the edited text onto the standard output. sed resembles the interactive editor ed, but its operation is fundamentally different. sed normally edits one line at a time, so it may be used to edit very large files. After it constructs a list of commands from its commands and script arguments, sed reads the input one line at a time into a work area. Then sed executes each command that applies to the line, as explained below. Finally, it copies the work area to the standard output (unless the -n option is specified), erases the work area, and reads the next input line. Line Identifiers sed identifies input lines by integer line numbers, beginning with one for the first line of the first file and continuing through each successive file. The following special forms identify lines: n A decimal number n addresses the nth line of the input. . A period `.' addresses the current input line. $ A dollar sign `$' addresses the last line of input. /pattern/ A pattern enclosed within slashes addresses the next input line that contains pattern. Patterns, also called regular expressions, are described in detail below. Commands Each command must be on a separate line. Most commands may be optionally preceded by a line identifier (abbreviated as [n] in the command summary below) or by two-line identifiers separated by a comma (abbreviated as [n[,m]]). If no line identifier precedes a command, sed applies the command to every input line. If one line identifier precedes a command, sed applies the command to each input line selected by the identifier. If two- line identifiers precede a command, sed begins to apply the command when an input line is selected by the first, and continues applying it through an input line selected by the second. sed recognizes the following commands: [n]= Output the current input line number. [n[,m]]!command Apply command to each line not identified by [n[,m]]. [n[,m]]{command...} Execute each enclosed command on the given lines. :label Define label for use in branch or test command. [n]a\ Append new text after given line. New text is terminated by any line not ending in `\'. b [label] Branch to label, which must be defined in a `:' command. If label is omitted, branch to end of command script. [n[,m]]c\ Change specified lines to new text and proceed with next input line. New text is terminated by any line not ending in `\'. [n[,m]]d Delete specified lines and proceed with next input line. [n[,m]]D Delete first line in work area and proceed with next input line. [n[,m]]g Copy secondary work area to work area, destroying previous contents. [n[,m]]G Append secondary work area to work area. [n[,m]]h Copy work area to secondary work area, destroying previous contents. [n[,m]]H Append work area to secondary work area. [n]i\ Insert new text before given line. New text is terminated by any line not ending in `\'. [n[,m]]l Print selected lines, interpreting non-graphic characters. [n[,m]]n Print the work area and replace it with the next input line. [n[,m]]N Append next input line preceded by a newline to work area. [n[,m]]p Print work area. [n[,m]]P Print first line of work area. [n]q Quit without reading any more input. [n]r file Copy file to output. [n[,m]]s[k]/pattern1/pattern2/[g][p][w file] Search for pattern1 and substitute pattern2 for kth occurrence (default, first). If optional g is given, substitute all occurrences. If optional p is given, print the resulting line. If optional w is given, append the resulting line to file. Patterns are described in detail below. [n[,m]]t[label] Test if substitutions have been made. If so, branch to label, which must be defined in a `:' command. If label is omitted, branch to end of command script. [n[,m]]w file Append lines to file. [n[,m]] x Exchange the work area and the secondary work area. [n[,m]]y/chars/replacements/ Translate characters in chars to the corresponding characters in replacements. Patterns Substitution commands and search specifications may include patterns, also called regular expressions. Pattern specifications are identical to those of ed, except that the special characters `\n' match a newline character in the input. A non-special character in a pattern matches itself. Special characters include the following: ^ Match beginning of line, unless it appears immediately after `[' (see below). $ Match end of line. \n Match the newline character. . Match any character except newline. * Match zero or more repetitions of preceding character. [chars] Match any one of the enclosed chars. Ranges of letters or digits may be indicated using `-'. [^chars] Match any character except one of the enclosed chars. Ranges of letters or digits may be indicated using `-'. \c Disregard special meaning of character c. \(pattern\) Delimit substring pattern; for use with \d, described below. In addition, the replacement part pattern2 of the substitute command may also use the following: & Insert characters matched by pattern1. \d Insert substring delimited by dth occurrence of delimiters `\(' and `\)', where d is a digit. Options sed recognizes the following options: -e Next argument gives a sed command. sed's command line can have more than one -e option. -f Next argument gives file name of command script. -n Output lines only when explicit p or P commands are given. Limits The COHERENT implementation of sed sets the following limits on input and output: Characters per input record512 Characters per output record512 Characters per field 512 See Also commands, ed, elvis, ex, me, vi Introduction to the sed Stream Editor