Unix‎ > ‎Solaris‎ > ‎Solaris man pages‎ > ‎1‎ > ‎

red


NAME
     ed, red - text editor

SYNOPSIS
     /usr/bin/ed [-s | -]  [-p string] [-x] [-C] [file]

     /usr/xpg4/bin/ed [-s | -]  [-p string] [-x] [-C] [file]

     /usr/xpg6/bin/ed [-s | -]  [-p string] [-x] [-C] [file]

     /usr/bin/red [-s | -]  [-p string] [-x] [-C] [file]

DESCRIPTION
     The ed utility is the  standard  text  editor.  If  file  is
     specified,  ed  simulates  an  e  command (see below) on the
     named file. That is, the file is read into  ed's  buffer  so
     that it can be edited.

     The ed utility operates on a copy of the file it is editing.
     Changes  made to the copy have no effect on the file until a
     w (write) command is given.  The  copy  of  the  text  being
     edited  resides in a temporary file called the buffer. There
     is only one buffer.

     The red utility is a restricted version of ed. It will  only
     allow  editing of files in the current directory. red prohi-
     bits executing shell commands via !shell  command.  Attempts
     to  bypass  these  restrictions  result  in an error message
     (restricted shell).

     Both ed and red support the fspec(4) formatting  capability.
     The default terminal mode is either stty -tabs or stty tab3,
     where tab stops are set at eight columns (see stty(1)).  If,
     however, the first line of file contains a format specifica-
     tion, that specification will override the default mode. For
     example, tab stops would be set at 5, 10, and 15, and a max-
     imum line length of 72 would be imposed if the first line of
     file contains

     <:t5,10,15 s72:>

     Commands to ed have a simple and  regular  structure:  zero,
     one,  or  two  addresses followed by a single-character com-
     mand, possibly followed by parameters to that command. These
     addresses  specify  one  or  more lines in the buffer. Every
     command that requires addresses has  default  addresses,  so
     that the addresses can very often be omitted.

     In general, only one command may appear on a  line.  Certain
     commands allow the input of text. This text is placed in the
     appropriate place in the buffer. While ed is accepting text,
     it  is  said  to be in input mode. In this mode, no commands
     are recognized; all input is merely collected.  Leave  input
     mode by typing a period (.) at the beginning of a line, fol-
     lowed immediately by a carriage return.

  /usr/bin/ed
     If ed executes commands with arguments, it uses the  default
     shell /usr/bin/sh (see sh(1)).

  /usr/xpg4/bin/ed and /usr/xpg6/bin/ed
     If  ed   executes   commands   with   arguments,   it   uses
     /usr/xpg4/bin/sh (see ksh(1)).

  Regular Expressions
     The ed utility supports a limited form of regular expression
     notation.  Regular  expressions  are  used  in  addresses to
     specify lines and in  some  commands  (for  example,  s)  to
     specify  portions  of  a line that are to be substituted. To
     understand addressing in ed, it is necessary to know that at
     any  time  there  is a current line. Generally speaking, the
     current line is the last line affected  by  a  command.  The
     exact  effect  on  the  current  line is discussed under the
     description of each command.

     Internationalized Basic Regular Expressions are used for all
     system-supplied locales. See regex(5).

  ed Commands
     Commands may require zero, one, or two  addresses.  Commands
     that  require no addresses regard the presence of an address
     as an error. Commands  that  accept  one  or  two  addresses
     assume  default  addresses  when  an  insufficient number of
     addresses is given; if more addresses are given than such  a
     command requires, the last one(s) are used.

     Typically, addresses are separated  from  each  other  by  a
     comma (,). They may also be separated by a semicolon (;). In
     the latter  case,  the  first  address  is  calculated,  the
     current  line  (.) is set to that value, and then the second
     address is calculated. This feature can be used to determine
     the  starting  line  for  forward and backward searches (see
     Rules 5 and 6, above). The second address of any two-address
     sequence  must  correspond to a line in the buffer that fol-
     lows the line corresponding to the first address.

     For /usr/xpg6/gbin/ed, the address can be omitted on  either
     side  of the comma or semicolon separator, in which case the
     resulting address pairs are as follows:





     ____________________________________________________________
    | Specified                   | Resulting                   |
    |_____________________________|_____________________________|
    | ,                           | 1 , $                       |
    |_____________________________|_____________________________|
    | , addr                      | 1 , addr                    |
    |_____________________________|_____________________________|
    | addr ,                      | addr , addr                 |
    |_____________________________|_____________________________|
    | ;                           | 1 ; $                       |
    |_____________________________|_____________________________|
    | ; addr                      | 1 ; addr                    |
    |_____________________________|_____________________________|
    | addr ;                      | addr ; addr                 |
    |_____________________________|_____________________________|


     Any <blank>s included between addresses, address separators,
     or address offsets are ignored.

     In the following list of ed commands, the parentheses  shown
     prior  to  the  command are not part of the address. Rather,
     the parentheses show the default address(es)  for  the  com-
     mand.

     Each address component can be preceded by zero or more blank
     characters.  The  command  letter can be preceded by zero or
     more blank characters. If a suffix letter (l, n,  or  p)  is
     given, it must immediately follow the command.

     The e, E, f, r, and w commands take an optional file parame-
     ter,  separated from the command letter by one or more blank
     characters.

     If changes have been made in the buffer  since  the  last  w
     command  that  wrote the entire buffer, ed warns the user if
     an attempt is made to destroy the editor buffer via the e or
     q commands. The ed utility writes the string:

     "?\n"

     (followed by an explanatory message if help  mode  has  been
     enabled  via the H command) to standard output and continues
     in command mode with the current line number  unchanged.  If
     the  e or q command is repeated with no intervening command,
     ed takes effect.

     If an end-of-file is detected on standard input when a  com-
     mand  is expected, the ed utility acts as if a q command had
     been entered.


     It is generally illegal for more than one command to  appear
     on  a  line. However, any command (except e, f, r, or w) may
     be suffixed by l, n, or p in which case the current line  is
     either  listed,  numbered  or written, respectively, as dis-
     cussed below under the l, n, and p commands.

     (.)a
     <text>
     .

         The append command accepts zero or more  lines  of  text
         and  appends  it after the addressed line in the buffer.
         The current line (.) is left at the last inserted  line,
         or, if there were none, at the addressed line. Address 0
         is legal for this command: it  causes  the  ``appended''
         text  to  be  placed at the beginning of the buffer. The
         maximum number of characters that may be entered from  a
         terminal is 256 per line (including the new-line charac-
         ter).





     (.,.)c
     <text>
     .

         The change command deletes the addressed lines from  the
         buffer,  then  accepts  zero  or more lines of text that
         replaces these lines in the buffer. The current line (.)
         is  left at the last line input, or, if there were none,
         at the first line that was not  deleted.  If  the  lines
         deleted  were  originally  at the end of the buffer, the
         current line number will be set to the  address  of  the
         new  last  line.  If  no lines remain in the buffer, the
         current line number will be set to 0.


         /usr/xpg4/bin/ed

             Address 0 is not legal for this command.






         /usr/xpg6/bin/ed

             Address 0 is valid for this command.  It  is  inter-
             preted as if the address 1 were specified.

     C

         Same as the X command, described later, except  that  ed
         assumes  all  text  read  in for the e and r commands is
         encrypted unless a null key is typed in.



     (.,.)d

         The delete command deletes the addressed lines from  the
         buffer. The line after the last line deleted becomes the
         current line. If the lines deleted  were  originally  at
         the  end  of  the  buffer, the new last line becomes the
         current line. If no lines  remain  in  the  buffer,  the
         current line number will be set to 0.



     e file

         The edit command deletes  the  entire  contents  of  the
         buffer  and  then  reads  the  contents of file into the
         buffer. The current line (.) is set to the last line  of
         the  buffer.  If file is not given, the currently remem-
         bered file name, if any, is used (see  the  f  command).
         The  number  of  bytes  read will be written to standard
         output, unless the -s option was specified, in the  fol-
         lowing format:

         "%d\n" <number of bytes read>

         file is remembered for possible use as  a  default  file
         name  in  subsequent e, E, r, and w commands. If file is
         replaced by !, the rest of the line is  taken  to  be  a
         shell  ( sh(1)) command whose output is to be read. Such
         a shell command is not remembered as  the  current  file
         name.   See  also  DIAGNOSTICS below. All marks are dis-
         carded upon the completion of a successful e command. If
         the  buffer  has  changed since the last time the entire
         buffer was written, the user  is  warned,  as  described
         previously.



     E file

         The Edit command is like e, except that the editor  does
         not  check  to  see if any changes have been made to the
         buffer since the last w command.


     f file

         If file is given, the f command  changes  the  currently
         remembered  path  name  to  file.  Whether  the  name is
         changed or not, the f command then writes the  (possibly
         new) currently remembered path name to the standard out-
         put in the following format:

         "%s\n"pathname

         The current line number is unchanged.



     (1,$)g/RE/command list

         In the global command, the first step is to  mark  every
         line  that  matches  the  given RE. Then, for every such
         line, the  given  command  list  is  executed  with  the
         current  line (.) initially set to that line. When the g
         command completes, the current line number has the value
         assigned  by  the  last  command in the command list. If
         there were no matching lines, the current line number is
         not  changed. A single command or the first of a list of
         commands appears on the same line as the global command.
         All lines of a multi-line list except the last line must
         be ended with a backslash (\); a, i, and c commands  and
         associated  input are permitted. The . terminating input
         mode may be omitted if it would be the last line of  the
         command list. An empty command list is equivalent to the
         p command. The g, G, v, V, and ! commands are  not  per-
         mitted  in  the command list. See also the NOTES and the
         last paragraph before FILES below. Any  character  other
         than  space or newline can be used instead of a slash to
         delimit the RE. Within the RE, the RE  delimiter  itself
         can  be used as a literal character if it is preceded by
         a backslash.



     (1,$)G/RE/

         In the interactive Global command, the first step is  to
         mark  every  line  that  matches the given RE. Then, for
         every such line, that line is written to  standard  out-
         put,  the  current line (.) is changed to that line, and
         any one command (other than one of the a, c, i, g, G, v,
         and  V commands) may be input and is executed. After the
         execution of that command, the next marked line is writ-
         ten,  and so on. A new-line acts as a null command. An &
         causes the re-execution of the most recent non-null com-
         mand  executed within the current invocation of G. Note:
         The commands input as part of the  execution  of  the  G
         command  may address and affect any lines in the buffer.
         The final value of the current line number is the  value
         set  by  the last command successfully executed. (Notice
         that the last command successfully  executed  is  the  G
         command itself if a command fails or the null command is
         specified.) If there were no matching lines, the current
         line  number  is  not changed. The G command can be ter-
         minated by a SIGINT signal. The G command  can  be  ter-
         minated by an interrupt signal (ASCII DEL or BREAK). Any
         character other  than  space  or  newline  can  be  used
         instead of a slash to delimit the RE. Within the RE, the
         RE delimiter itself can be used as a  literal  character
         if it is preceded by a backslash.



     h

         The help  command  gives  a  short  error  message  that
         explains  the  reason  for the most recent ? diagnostic.
         The current line number is unchanged.



     H

         The Help command causes ed to  enter  a  mode  in  which
         error messages are written for all subsequent ? diagnos-
         tics. It also explains the previous ? if there was  one.
         The H command alternately turns this mode on and off; it
         is initially off. The current line number is unchanged.



     (.,.)i
     <text>
     .

         The insert command accepts zero or more  lines  of  text
         and  inserts it before the addressed line in the buffer.
         The current line (.) is left at the last inserted  line,
         or, if there were none, at the addressed line. This com-
         mand differs from the a command only in the placement of
         the  input  text.  The maximum number of characters that
         may be entered from a terminal is 256 per line  (includ-
         ing the new-line character).


         /usr/xpg4/bin/ed

             Address 0 is not legal for this command.

         /usr/xpg6/bin/ed

             Address 0 is valid for this command.  It  is  inter-
             preted as if the address 1 were specified.



     (.,.+1)j

         The join command joins contiguous lines by removing  the
         appropriate  new-line characters. If exactly one address
         is given,  this  command  does  nothing.  If  lines  are
         joined, the current line number is set to the address of
         the joined line. Otherwise, the current line  number  is
         unchanged.



     (.)kx

         The mark command marks the addressed line with  name  x,
         which  must  be  an  ASCII  lower-case letter (a-z). The
         address  'x then addresses this line. The  current  line
         (.) is unchanged.



     (.,.)l

         The l command writes to standard  output  the  addressed
         lines  in  a visually unambiguous form. The characters (
         \\,  \a,  \b,  \f,  \r,  \t,  \v)  are  written  as  the
         corresponding  escape  sequence. The \n in that table is
         not applicable.  Non-printable  characters  not  in  the
         table  are written as one three-digit octal number (with
         a preceding backslash character) for each  byte  in  the
         character, with the most significant byte first.

         Long lines are folded, with the point of  folding  indi-
         cated by writing backslash/newline character. The length
         at which folding occurs is unspecified,  but  should  be
         appropriate  for the output device. The end of each line
         is marked with a $. When using the /usr/xpg6/bin/ed com-
         mand,  the  end  of  each line is marked with a $ due to
         folding, and $ characters within the  text  are  written
         with a preceding backslash. An l command can be appended
         to any other command other than e, E, f, q, Q, r, w,  or
         !.  The current line number is set to the address of the
         last line written.



     (.,.)ma

         The move command repositions the addressed line(s) after
         the  line  addressed  by a. Address 0 is legal for a and
         causes the addressed line(s) to be moved to  the  begin-
         ning  of  the  file.  It  is an error if address a falls
         within the range of moved lines. The current line (.) is
         left at the last line moved.



     (.,.)n

         The number command writes the addressed lines, preceding
         each  line  by  its line number and a tab character. The
         current line (.) is left at the last line written. The n
         command  may be appended to any command other than e, E,
         f, q, Q, r, w, or !.



     (.,.)p

         The print command writes the addressed lines to standard
         output.  The  current  line (.) is left at the last line
         written. The p command may be appended  to  any  command
         other  than  e,  E, f, q, Q, r, w, or !. For example, dp
         deletes the current line  and  writes  the  new  current
         line.



     P

         The P command causes ed to prompt with an  asterisk  (*)
         (or  string, if -p is specified) for all subsequent com-
         mands. The P command alternatively turns  this  mode  on
         and  off;  it is initially on if the -p option is speci-
         fied, otherwise off. The current line is unchanged.



     q

         The quit command causes ed to exit. If  the  buffer  has
         changed  since the last time the entire buffer was writ-
         ten, the user is warned. See DIAGNOSTICS.



     Q

         The editor exits without checking if changes  have  been
         made in the buffer since the last w command.



     ($)r file

         The read command reads the contents  of  file  into  the
         buffer.  If  file is not given, the currently remembered
         file name, if any, is used (see the e and  f  commands).
         The currently remembered file name is not changed unless
         file is the very first file name mentioned since ed  was
         invoked. Address 0 is legal for r and causes the file to
         be read in at the beginning of the buffer. If  the  read
         is  successful  and the -s option was not specified, the
         number of characters read is written to standard  output
         in the following format:


         %d\n, <number of bytes read>

         The current line (.) is set to the last  line  read.  If
         file  is replaced by !, the rest of the line is taken to
         be a shell command (see sh(1)) whose  output  is  to  be
         read.  For example, $r !ls appends the current directory
         to the end of the file being edited. Such a  shell  com-
         mand is not remembered as the current file name.



     (.,.)s/RE/replacement/
     (.,.)s/RE/replacement/count, count=[1-2047]
     (.,.)s/RE/replacement/g
     (.,.)s/RE/replacement/l
     (.,.)s/RE/replacement/n
     (.,.)s/RE/replacement/p

         The substitute command searches each addressed line  for
         an  occurrence of the specified RE. Zero or more substi-
         tution commands can be specified. In each line in  which
         a  match  is found, all (non-overlapped) matched strings
         are replaced by the replacement if the  global  replace-
         ment  indicator g appears after the command. If the glo-
         bal indicator does not appear, only the first occurrence
         of  the  matched  string  is replaced. If a number count
         appears after the command, only the count-th  occurrence
         of   the  matched  string  on  each  addressed  line  is
         replaced. It is an error if the  substitution  fails  on
         all  addressed  lines. Any character other than space or
         new-line may be used instead of the slash (/) to delimit
         the RE and the replacement. The current line (.) is left
         at the last  line  on  which  a  substitution  occurred.
         Within  the RE, the RE delimiter itself can be used as a
         literal character if it is preceded by a backslash.  See
         also the last paragraph before FILES below.

         An  ampersand  (&)  appearing  in  the  replacement   is
         replaced  by  the  string matching the RE on the current
         line. The special meaning of & in this  context  may  be
         suppressed  by  preceding  it  by  \.  As a more general
         feature, the characters \n, where  n  is  a  digit,  are
         replaced  by the text matched by the n-th regular subex-
         pression of the specified RE enclosed between \( and \).
         When  nested parenthesized subexpressions are present, n
         is determined by counting  occurrences  of  \(  starting
         from  the left. When the character % is the only charac-
         ter in the replacement, the replacement used in the most
         recent  substitute command is used as the replacement in
         the current substitute command. If there was no previous
         substitute  command,  the  use of % in this manner is an
         error. The % loses its special meaning when it is  in  a
         replacement string of more than one character or is pre-
         ceded by a \. For  each  backslash  (\)  encountered  in
         scanning  replacement from beginning to end, the follow-
         ing character loses its special meaning (if any). It  is
         unspecified what special meaning is given to any charac-
         ter other than &, \, %, or digits.

         A line may be split by substituting a new-line character
         into it. The new-line in the replacement must be escaped
         by preceding it by \. Such substitution cannot  be  done
         as  part  of  a  g  or  v command list. The current line
         number is set to the address of the last line on which a
         substitution  is  performed.  If no substitution is per-
         formed, the current line number is unchanged. If a  line
         is split, a substitution is considered to have been per-
         formed on each of the  new  lines  for  the  purpose  of
         determining  the new current line number. A substitution
         is  considered  to  have  been  performed  even  if  the
         replacement  string  is  identical to the string that it
         replaces.

         The substitute command supports  the  following  indica-
         tors:


         count    Substitute for the countth occurrence  only  of
                  the RE found on each addressed line. count must
                  be between 1-2047.





         g        Globally  substitute  for  all  non-overlapping
                  instances  of the RE rather than just the first
                  one. If both g and  count  are  specified,  the
                  results are unspecified.



         l        Write to standard  output  the  final  line  in
                  which  a  substitution  was  made.  The line is
                  written in the format specified for the l  com-
                  mand.



         n        Write to standard  output  the  final  line  in
                  which  a  substitution  was  made.  The line is
                  written in the format specified for the n  com-
                  mand.



         p        Write to standard  output  the  final  line  in
                  which a substitution was made. The line will be
                  written in the format specified for the p  com-
                  mand.



     (.,.)ta

         This command acts just like the m command, except that a
         copy  of  the  addressed lines is placed after address a
         (which may be 0). The current line (.) is  left  at  the
         last line copied.



     u

         The undo command nullifies the effect of the most recent
         command that modified anything in the buffer, namely the
         most recent a, c, d, g, i, j, m, r, s, t, u, v, G, or  V
         command. All changes made to the buffer by a g, G, v, or
         V global command is undone  as  a  single  change.If  no
         changes were made by the global command (such as with g/
         RE/p), the u command has no  effect.  The  current  line
         number  is  set  to the value it had  immediately before
         the  command being undone started.




     (1,$)v/RE/command list

         This command is the same as the global command g, except
         that  the  lines  marked during the first step are those
         that do not match the RE.



     (1,$)V/RE/

         This command is the same as the interactive global  com-
         mand G, except that the lines that are marked during the
         first step are those that do not match the RE.



     (1,$)w file

         The write command writes the addressed lines into  file.
         If  file  does  not  exist,  it is created with mode 666
         (readable and writable by everyone),  unless  your  file
         creation mask dictates otherwise. See the description of
         the umask special command on sh(1). The currently remem-
         bered  file  name is not changed unless file is the very
         first file name mentioned since ed was  invoked.  If  no
         file  name is given, the currently remembered file name,
         if any, is used (see the e and f commands). The  current
         line (.) is unchanged. If the command is successful, the
         number of characters written is printed, unless  the  -s
         option is specified in the following format:


         "%d\n",<number of bytes written>

         If file is replaced by !, the rest of the line is  taken
         to  be  a shell (see sh(1)) command whose standard input
         is the addressed lines. Such  a  shell  command  is  not
         remembered  as  the current path name. This usage of the
         write command with ! is to be considered as a  ``last  w
         command that wrote the entire buffer''.



     (1,$)W file

         This command is the same as  the  write  command  above,
         except that it appends the addressed lines to the end of
         file if it exists. If file does not exist, it is created
         as described above for the w command.



     X

         An educated guess is made to determine whether text read
         for  the e and r commands is encrypted. A null key turns
         off encryption. Subsequent e, r, and w commands will use
         this  key  to encrypt or decrypt the text. An explicitly
         empty key turns off encryption. Also, see the -x  option
         of ed.



     ($)=

         The line number of the  addressed  line  is  written  to
         standard output in the following format:


         "%d\n"<line number>

         The current line number is unchanged by this command.



     !shell command

         The remainder of the line after the !  is  sent  to  the
         UNIX  system  shell  (see  sh(1)) to be interpreted as a
         command. Within the text of that command, the  unescaped
         character  %  is replaced with the remembered file name.
         If a !  appears as the first character of the shell com-
         mand, it is replaced with the text of the previous shell
         command. Thus, !! repeats the last shell command. If any
         replacements  of % or ! are performed, the modified line
         is written to the standard output before command is exe-
         cuted. The ! command will write:

         "!\n"

         to standard output upon completion, unless the -s option
         is specified. The current line number is unchanged.



     (.+1)<new-line>

         An address alone on a line causes the addressed line  to
         be  written.  A new-line alone is equivalent to .+1p. It
         is useful for stepping forward through the  buffer.  The
         current  line  number  will be set to the address of the
         written line.


     If an interrupt signal (ASCII DEL  or  BREAK)  is  sent,  ed
     writes a "?\n" and returns to its command level.

     The ed utility takes the standard  action  for  all  signals
     with the following exceptions:

     SIGINT          The  ed  utility  interrupts   its   current
                     activity,  writes  the string "?\n" to stan-
                     dard output, and returns to command mode.



     SIGHUP          If the buffer is not empty and  has  changed
                     since   the   last  write,  the  ed  utility
                     attempts to write a copy of the buffer in  a
                     file.  First,  the  file named ed.hup in the
                     current directory is used.  If  that  fails,
                     the file named ed.hup in the directory named
                     by the HOME environment variable is used. In
                     any  case,  the  ed  utility  exits  without
                     returning to command mode.



     Some size limitations are in effect:  512  characters  in  a
     line, 256 characters in a global command list, and 255 char-
     acters in the path name of a file  (counting  slashes).  The
     limit  on  the number of lines depends on the amount of user
     memory. Each line takes 1 word.

     When reading a file, ed discards ASCII and NUL characters.

     If a file is not terminated by a new-line character, ed adds
     one and puts out a message explaining what it did.

     If the closing delimiter of an RE or of a replacement string
     (for  example,  /) would be the last character before a new-
     line, that delimiter may  be  omitted,  in  which  case  the
     addressed  line  is written. The following pairs of commands
     are equivalent:

     s/s1/s2         s/s1/s2/p



     g/s1            g/s1/p



     ?s1             ?s1?


     If an invalid command is entered, ed writes the string:

     "?\n"

     (followed by an explanatory message if help  mode  has  been
     enabled  by  the H command) to standard output and continues
     in command mode with the current line number unchanged.

OPTIONS
     -C              Encryption  option.  The  same  as  the   -x
                     option,  except  that  ed simulates a C com-
                     mand. The C command is like the  X  command,
                     except  that  all text read in is assumed to
                     have been encrypted.



     -pstring        Allows the user to specify a prompt  string.
                     By default, there is no prompt string.



     -s |  -;        Suppresses the writing of  character  counts
                     by e, r, and w commands, of diagnostics from
                     e and q commands, and of the ! prompt  after
                     a !shell command.



     -x              Encryption option. When -x is used, ed simu-
                     lates  an X command and prompts the user for
                     a key. The X command makes an educated guess
                     to   determine   whether  text  read  in  is
                     encrypted or not. The temporary buffer  file
                     is  encrypted also, using a transformed ver-
                     sion of the key typed in for the -x  option.
                     See NOTES.



OPERANDS
     The following operand is supported:

     file     If file is specified, ed simulates an e command  on
              the file named by the path name file before accept-
              ing commands from the standard input.



USAGE
     See largefile(5) for the description of the behavior  of  ed
     and  red  when encountering files greater than or equal to 2
     Gbyte ( 2**31 bytes).

ENVIRONMENT VARIABLES
     See environ(5) for descriptions of the following environment
     variables  that  affect  the  execution  of  ed: HOME, LANG,
     LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES, and NLSPATH.

EXIT STATUS
     The following exit values are returned:

     0        Successful completion without any file  or  command
              errors.



     >0       An error occurred.



FILES
     $TMPDIR         If this environment variable  is  not  NULL,
                     its  value  is  used in place of /var/tmp as
                     the directory name for  the  temporary  work
                     file.



     /var/tmp        If /var/tmp exists, it is used as the direc-
                     tory name for the temporary work file.



     /tmp            If the environment variable TMPDIR does  not
                     exist  or  is NULL, and if /var/tmp does not
                     exist, then /tmp is used  as  the  directory
                     name for the temporary work file.



     ed.hup          Work is saved here if the terminal  is  hung
                     up.



ATTRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:

  /usr/bin/ed, /usr/bin/red



     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWcsu                     |
    |_____________________________|_____________________________|
    | CSI                         | Enabled                     |
    |_____________________________|_____________________________|


  /usr/xpg4/bin/ed
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWxcu4                    |
    |_____________________________|_____________________________|
    | CSI                         | Enabled                     |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|


  /usr/xpg6/bin/ed
     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Availability                | SUNWxcu6                    |
    |_____________________________|_____________________________|
    | CSI                         | Enabled                     |
    |_____________________________|_____________________________|
    | Interface Stability         | Standard                    |
    |_____________________________|_____________________________|


SEE ALSO
     bfs(1), edit(1),  ex(1),  grep(1),  ksh(1),  sed(1),  sh(1),
     stty(1),  umask(1), vi(1), fspec(4), attributes(5), environ(
     5), largefile(5), regex(5), standards(5)

DIAGNOSTICS
     ?        for command errors.



     ?file    for an inaccessible file. Use  the  help  and  Help
              commands for detailed explanations.



     If changes have been made in the buffer  since  the  last  w
     command  that  wrote the entire buffer, ed warns the user if
     an attempt is made to destroy ed's buffer via  the  e  or  q
     commands.  It writes ? and allows one to continue editing. A
     second e or q command at this point will take effect. The -s
     command-line option inhibits this feature.

NOTES
     The - option, although it continues  to  be  supported,  has
     been  replaced  in  the  documentation by the -s option that
     follows the Command Syntax Standard (see intro(1)).

     A ! command cannot be subject to a g or a v command.

     The ! command and the ! escape from the e, r, and w commands
     cannot  be  used  if the editor is invoked from a restricted
     shell (see sh(1)).

     The sequence \n in an RE does not match a  new-line  charac-
     ter.

     If the editor input is coming from a command file (for exam-
     ple,  ed  file < ed_cmd_file), the editor exits at the first
     failure.

     Loading an alternate malloc() library using the  environment
     variable LD_PRELOAD can cause problems for /usr/bin/ed.










Man pages from Solaris 10 Update 8. See docs.sun.com and www.oracle.com for further documentation and Solaris information.
Comments