+== Summary ==  +  +<pre>  +NAME  + sed -- stream editor  +  +SYNOPSIS  + sed [-Ean] command [file ...]  + sed [-Ean] [-e command] [-f command_file] [-i extension] [file ...]  +  +DESCRIPTION  + The sed utility reads the specified files, or the standard input if no  + files are specified, modifying the input as specified by a list of com-  + mands. The input is then written to the standard output.  +  + A single command may be specified as the first argument to sed. Multiple  + commands may be specified by using the -e or -f options. All commands  + are applied to the input in the order they are specified regardless of  + their origin.  +  + The following options are available:  +  + -E Interpret regular expressions as extended (modern) regular  + expressions rather than basic regular expressions (BRE's). The  + re_format(7) manual page fully describes both formats.  +  + -a The files listed as parameters for the ``w'' functions are cre-  + ated (or truncated) before any processing begins, by default.  + The -a option causes sed to delay opening each file until a com-  + mand containing the related ``w'' function is applied to a line  + of input.  +  + -e command  + Append the editing commands specified by the command argument to  + the list of commands.  +  + -f command_file  + Append the editing commands found in the file command_file to the  + list of commands. The editing commands should each be listed on  + a separate line.  +  + -i extension  + Edit files in-place, saving backups with the specified extension.  + If a zero-length extension is given, no backup will be saved. It  + is not recommended to give a zero-length extension when in-place  + editing files, as you risk corruption or partial content in situ-  + ations where disk space is exhausted, etc.  +  + -n By default, each line of input is echoed to the standard output  + after all of the commands have been applied to it. The -n option  + suppresses this behavior.  +  + The form of a sed command is as follows:  +  + [address[,address]]function[arguments]  +  + Whitespace may be inserted before the first address and the function portions of the command.  +  + Normally, sed cyclically copies a line of input, not including its termi-  + nating newline character, into a pattern space, (unless there is some-  + thing left after a ``D'' function), applies all of the commands with  + addresses that select that pattern space, copies the pattern space to the  + standard output, appending a newline, and deletes the pattern space.  +  + Some of the functions use a hold space to save all or part of the pattern  + space for subsequent retrieval.  +  +Sed Addresses  + An address is not required, but if specified must be a number (that  + counts input lines cumulatively across input files), a dollar (``$'')  + character that addresses the last line of input, or a context address  + (which consists of a regular expression preceded and followed by a delim-  + iter).  +  + A command line with no addresses selects every pattern space.  +  + A command line with one address selects all of the pattern spaces that  + match the address.  +  + A command line with two addresses selects an inclusive range. This range  + starts with the first pattern space that matches the first address. The  + end of the range is the next following pattern space that matches the  + second address. If the second address is a number less than or equal to  + the line number first selected, only that line is selected. In the case  + when the second address is a context address, sed does not re-match the  + second address against the pattern space that matched the first address.  + Starting at the first line following the selected range, sed starts look-  + ing again for the first address.  +  + Editing commands can be applied to non-selected pattern spaces by use of  + the exclamation character (``!'') function.  +  +Sed Regular Expressions  + The regular expressions used in sed, by default, are basic regular  + expressions (BREs, see re_format(7) for more information), but extended  + (modern) regular expressions can be used instead if the -E flag is given.  + In addition, sed has the following two additions to regular expressions:  +  + 1. In a context address, any character other than a backslash (``\'')  + or newline character may be used to delimit the regular expression.  + Also, putting a backslash character before the delimiting character  + causes the character to be treated literally. For example, in the  + context address \xabc\xdefx, the RE delimiter is an ``x'' and the  + second ``x'' stands for itself, so that the regular expression is  + ``abcxdef''.  +  + 2. The escape sequence \n matches a newline character embedded in the  + pattern space. You can't, however, use a literal newline character  + in an address or in the substitute command.  +  + One special feature of sed regular expressions is that they can default  + to the last regular expression used. If a regular expression is empty,  + i.e., just the delimiter characters are specified, the last regular  + expression encountered is used instead. The last regular expression is  + defined as the last regular expression used as part of an address or sub-  + stitute command, and at run-time, not compile-time. For example, the  + command ``/abc/s//XXX/'' will substitute ``XXX'' for the pattern ``abc''.  +  +Sed Functions  + In the following list of commands, the maximum number of permissible  + addresses for each command is indicated by [0addr], [1addr], or [2addr],  + representing zero, one, or two addresses.  +  + The argument text consists of one or more lines. To embed a newline in  + the text, precede it with a backslash. Other backslashes in text are  + deleted and the following character taken literally.  +  + The ``r'' and ``w'' functions take an optional file parameter, which  + should be separated from the function letter by white space. Each file  + given as an argument to sed is created (or its contents truncated) before  + any input processing begins.  +  + The ``b'', ``r'', ``s'', ``t'', ``w'', ``y'', ``!'', and ``:'' functions  + all accept additional arguments. The following synopses indicate which  + arguments have to be separated from the function letters by white space  + characters.  +  + Two of the functions take a function-list. This is a list of sed func-  + tions separated by newlines, as follows:  +  + { function  + function  + ...  + function  + }  +  + The ``{'' can be preceded by white space and can be followed by white  + space. The function can be preceded by white space. The terminating  + ``}'' must be preceded by a newline or optional white space.  +  + [2addr] function-list  + Execute function-list only when the pattern space is selected.  +  + [1addr]a\  + text Write text to standard output immediately before each attempt to  + read a line of input, whether by executing the ``N'' function or  + by beginning a new cycle.  +  + [2addr]b[label]  + Branch to the ``:'' function with the specified label. If the  + label is not specified, branch to the end of the script.  +  + [2addr]c\  + text Delete the pattern space. With 0 or 1 address or at the end of a  + 2-address range, text is written to the standard output.  +  + [2addr]d  + Delete the pattern space and start the next cycle.  +  + [2addr]D  + Delete the initial segment of the pattern space through the first  + newline character and start the next cycle.  +  + [2addr]g  + Replace the contents of the pattern space with the contents of  + the hold space.  +  + [2addr]G  + Append a newline character followed by the contents of the hold  + space to the pattern space.  +  + [2addr]h  + Replace the contents of the hold space with the contents of the  + pattern space.  +  + [2addr]H  + Append a newline character followed by the contents of the pat-  + tern space to the hold space.  +  + [1addr]i\  + text Write text to the standard output.  +  + [2addr]l  + (The letter ell.) Write the pattern space to the standard output  + in a visually unambiguous form. This form is as follows:  +  + backslash \\  + alert \a  + form-feed \f  + carriage-return \r  + tab \t  + vertical tab \v  +  + Nonprintable characters are written as three-digit octal numbers  + (with a preceding backslash) for each byte in the character (most  + significant byte first). Long lines are folded, with the point  + of folding indicated by displaying a backslash followed by a new-  + line. The end of each line is marked with a ``$''.  +  + [2addr]n  + Write the pattern space to the standard output if the default  + output has not been suppressed, and replace the pattern space  + with the next line of input.  +  + [2addr]N  + Append the next line of input to the pattern space, using an  + embedded newline character to separate the appended material from  + the original contents. Note that the current line number  + changes.  +  + [2addr]p  + Write the pattern space to standard output.  +  + [2addr]P  + Write the pattern space, up to the first newline character to the  + standard output.  +  + [1addr]q  + Branch to the end of the script and quit without starting a new  + cycle.  +  + [1addr]r file  + Copy the contents of file to the standard output immediately  + before the next attempt to read a line of input. If file cannot  + be read for any reason, it is silently ignored and no error con-  + dition is set.  +  + [2addr]s/regular expression/replacement/flags  + Substitute the replacement string for the first instance of the  + regular expression in the pattern space. Any character other  + than backslash or newline can be used instead of a slash to  + delimit the RE and the replacement. Within the RE and the  + replacement, the RE delimiter itself can be used as a literal  + character if it is preceded by a backslash.  +  + An ampersand (``&'') appearing in the replacement is replaced by  + the string matching the RE. The special meaning of ``&'' in this  + context can be suppressed by preceding it by a backslash. The  + string ``\#'', where ``#'' is a digit, is replaced by the text  + matched by the corresponding backreference expression (see  + re_format(7)).  +  + A line can be split by substituting a newline character into it.  + To specify a newline character in the replacement string, precede  + it with a backslash.  +  + The value of flags in the substitute function is zero or more of  + the following:  +  + N Make the substitution only for the N'th occurrence  + of the regular expression in the pattern space.  +  + g Make the substitution for all non-overlapping  + matches of the regular expression, not just the  + first one.  +  + p Write the pattern space to standard output if a  + replacement was made. If the replacement string is  + identical to that which it replaces, it is still  + considered to have been a replacement.  +  + w file Append the pattern space to file if a replacement  + was made. If the replacement string is identical  + to that which it replaces, it is still considered  + to have been a replacement.  +  + [2addr]t [label]  + Branch to the ``:'' function bearing the label if any substitu-  + tions have been made since the most recent reading of an input  + line or execution of a ``t'' function. If no label is specified,  + branch to the end of the script.  +  + [2addr]w file  + Append the pattern space to the file.  +  + [2addr]x  + Swap the contents of the pattern and hold spaces.  +  + [2addr]y/string1/string2/  + Replace all occurrences of characters in string1 in the pattern  + space with the corresponding characters from string2. Any char-  + acter other than a backslash or newline can be used instead of a  + slash to delimit the strings. Within string1 and string2, a  + backslash followed by any character other than a newline is that  + literal character, and a backslash followed by an ``n'' is  + replaced by a newline character.  +  + [2addr]!function  + [2addr]!function-list  + Apply the function or function-list only to the lines that are  + not selected by the address(es).  +  + [0addr]:label  + This function does nothing; it bears a label to which the ``b''  + and ``t'' commands may branch.  +  + [1addr]=  + Write the line number to the standard output followed by a new-  + line character.  +  + [0addr]  + Empty lines are ignored.  +  + [0addr]#  + The ``#'' and the remainder of the line are ignored (treated as a  + comment), with the single exception that if the first two charac-  + ters in the file are ``#n'', the default output is suppressed.  + This is the same as specifying the -n option on the command line.  +  +ENVIRONMENT  + The COLUMNS, LANG, LC_ALL, LC_CTYPE and LC_COLLATE environment variables  + affect the execution of sed as described in environ(7).  +  +DIAGNOSTICS  + The sed utility exits 0 on success, and >0 if an error occurs.  +  +SEE ALSO  + awk(1), ed(1), grep(1), regex(3), re_format(7)  +  +STANDARDS  + The sed utility is expected to be a superset of the IEEE Std 1003.2  + (``POSIX.2'') specification.  +  + The -E, -a and -i options are non-standard FreeBSD extensions and may not  + be available on other operating systems.  +  +HISTORY  + A sed command, written by L. E. McMahon, appeared in Version 7 AT&T UNIX.  +  +AUTHORS  + Diomidis D. Spinellis <dds@FreeBSD.org>  +</pre> == Examples == == Examples ==
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes) in /www/ljackson.us/wiki/htdocs/includes/DifferenceEngine.php on line 895