[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
2 Invocation
Normally sed
is invoked like this:
sed SCRIPT INPUTFILE...
The full format for invoking sed
is:
sed OPTIONS... [SCRIPT] [INPUTFILE...]
If you do not specify INPUTFILE, or if INPUTFILE is ‘-’,
sed
filters the contents of the standard input. The script
is actually the first non-option parameter, which sed
specially
considers a script and not an input file if (and only if) none of the
other options specifies a script to be executed, that is if neither
of the ‘-e’ and ‘-f’ options is specified.
sed
may be invoked with the following command-line options:
--version
-
Print out the version of
sed
that is being run and a copyright notice, then exit. --help
-
Print a usage message briefly summarizing these command-line options and the bug-reporting address, then exit.
-n
--quiet
--silent
-
By default,
sed
prints out the pattern space at the end of each cycle through the script (see section Howsed
works). These options disable this automatic printing, andsed
only produces output when explicitly told to via thep
command. -e script
--expression=script
-
Add the commands in script to the set of commands to be run while processing the input.
-f script-file
--file=script-file
-
Add the commands contained in the file script-file to the set of commands to be run while processing the input.
-i[SUFFIX]
--in-place[=SUFFIX]
-
This option specifies that files are to be edited in-place. GNU
sed
does this by creating a temporary file and sending output to this file rather than to the standard output.(1).This option implies ‘-s’.
When the end of the file is reached, the temporary file is renamed to the output file’s original name. The extension, if supplied, is used to modify the name of the old file before renaming the temporary file, thereby making a backup copy(2)).
This rule is followed: if the extension doesn’t contain a
*
, then it is appended to the end of the current filename as a suffix; if the extension does contain one or more*
characters, then each asterisk is replaced with the current filename. This allows you to add a prefix to the backup file, instead of (or in addition to) a suffix, or even to place backup copies of the original files into another directory (provided the directory already exists).If no extension is supplied, the original file is overwritten without making a backup.
-l N
--line-length=N
-
Specify the default line-wrap length for the
l
command. A length of 0 (zero) means to never wrap long lines. If not specified, it is taken to be 70. --posix
-
GNU
sed
includes several extensions to POSIX sed. In order to simplify writing portable scripts, this option disables all the extensions that this manual documents, including additional commands. Most of the extensions acceptsed
programs that are outside the syntax mandated by POSIX, but some of them (such as the behavior of theN
command described in see section Reporting Bugs) actually violate the standard. If you want to disable only the latter kind of extension, you can set thePOSIXLY_CORRECT
variable to a non-empty value. -b
--binary
-
This option is available on every platform, but is only effective where the operating system makes a distinction between text files and binary files. When such a distinction is made—as is the case for MS-DOS, Windows, Cygwin—text files are composed of lines separated by a carriage return and a line feed character, and
sed
does not see the ending CR. When this option is specified,sed
will open input files in binary mode, thus not requesting this special processing and considering lines to end at a line feed. --follow-symlinks
-
This option is available only on platforms that support symbolic links and has an effect only if option ‘-i’ is specified. In this case, if the file that is specified on the command line is a symbolic link,
sed
will follow the link and edit the ultimate destination of the link. The default behavior is to break the symbolic link, so that the link destination will not be modified. -r
--regexp-extended
-
Use extended regular expressions rather than basic regular expressions. Extended regexps are those that
egrep
accepts; they can be clearer because they usually have less backslashes, but are a GNU extension and hence scripts that use them are not portable. See section Extended regular expressions. -s
--separate
-
By default,
sed
will consider the files specified on the command line as a single continuous long stream. This GNUsed
extension allows the user to consider them as separate files: range addresses (such as ‘/abc/,/def/’) are not allowed to span several files, line numbers are relative to the start of each file,$
refers to the last line of each file, and files invoked from theR
commands are rewound at the start of each file. -u
--unbuffered
-
Buffer both input and output as minimally as practical. (This is particularly useful if the input is coming from the likes of ‘tail -f’, and you wish to see the transformed output as soon as possible.)
-z
--null-data
--zero-terminated
-
Treat the input as a set of lines, each terminated by a zero byte (the ASCII ‘NUL’ character) instead of a newline. This option can be used with commands like ‘sort -z’ and ‘find -print0’ to process arbitrary file names.
If no ‘-e’, ‘-f’, ‘--expression’, or ‘--file’ options are given on the command-line, then the first non-option argument on the command line is taken to be the script to be executed.
If any command-line parameters remain after processing the above, these parameters are interpreted as the names of input files to be processed. A file name of ‘-’ refers to the standard input stream. The standard input will be processed if no file names are specified.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on January 5, 2013 using texi2html 5.0.