DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(sed.info.gz) Extended Commands

Info Catalog (sed.info.gz) Programming Commands (sed.info.gz) sed Programs (sed.info.gz) Escapes
 
 Commands Specific to GNU `sed'
 ==============================
 
    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 `sed's.
 
 `e [COMMAND]'
      This command allows one to pipe input from a shell command into
      pattern space.  Without parameters, the `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.
 
 `L N'
      This GNU `sed' extension fills and joins lines in pattern space to
      produce output lines of (at most) N characters, like `fmt' 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 only accepts a single address.
 
      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 FILENAME'
      Queue a line of FILENAME to be read and inserted into the output
      stream at the end of the current cycle, or when the next input
      line is read.  Note that if FILENAME cannot be read, or if its end
      is reached, no line is appended, without any error indication.
 
      As with the `r' command, the special value `/dev/stdin' is
      supported for the file name, which reads a line from the standard
      input.
 
 `T LABEL'
      Branch to LABEL only if there have been no successful
      `s'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 VERSION'
      This command does nothing, but makes `sed' fail if GNU `sed'
      extensions are not supported, simply because other versions of
      `sed' do not implement it.  In addition, you can specify the
      version of `sed' that your script requires, such as `4.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 FILENAME'
      Write to the given filename the portion of the pattern space up to
      the first newline.  Everything said under the `w' command about
      file handling holds here too.
 
Info Catalog (sed.info.gz) Programming Commands (sed.info.gz) sed Programs (sed.info.gz) Escapes
automatically generated byinfo2html