Next: Escapes, Previous: Programming Commands, Up: sed Programs
These commands are specific to GNU sed, so you must use them with care and only when you are sure that hindering portability is not evil. They allow you to check for GNU sed extensions or to do tasks that are required quite often, yet are unsupported by standard seds.
e [
command]
e
command
executes the command that is found in pattern space and
replaces the pattern space with the output; a trailing newline
is suppressed.
If a parameter is specified, instead, the e
command
interprets it as a command and sends its output to the output stream
(like r
does). The command can run across multiple
lines, all but the last ending with a back-slash.
In both cases, the results are undefined if the command to be
executed contains a nul character.
F
L
nfmt
does; if n is omitted, the default as specified
on the command line is used. This command is considered a failed
experiment and unless there is enough request (which seems unlikely)
will be removed in future versions.
Q [
exit-code]
This command is the same as q
, but will not print the
contents of pattern space. Like q
, it provides the
ability to return an exit code to the caller.
This command can be useful because the only alternative ways to accomplish this apparently trivial function are to use the -n option (which can unnecessarily complicate your script) or resorting to the following snippet, which wastes time by reading the whole file without any visible effect:
:eat $d Quit silently on the last line N Read another line, silently g Overwrite pattern space each time to save memory b eat
R
filenameAs with the r
command, the special value /dev/stdin
is supported for the file name, which reads a line from the
standard input.
T
labels
ubstitutions since the last input line was read or
conditional branch was taken. The label may be omitted,
in which case the next cycle is started.
v
version4.0.5
. The default is 4.0
because that is the first version that implemented this command.
This command enables all GNU extensions even if
POSIXLY_CORRECT is set in the environment.
W
filenamew
command about
file handling holds here too.
z