Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ subst(1) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sed(1)



SUBST(1)                     UNIX System V(local)                      SUBST(1)


NAME
      subst - substitute definitions into file(s)

SYNOPSIS
      subst -f substitutions victim ...

DESCRIPTION
      Subst makes substitutions into files, in a way that is suitable for
      customizing software to local conditions.  Each victim file is altered
      according to the contents of the substitutions file.

      The substitutions file contains one line per substitution.  A line
      consists of two fields separated by one or more tabs.  The first field is
      the name of the substitution, the second is the value.  Neither should
      contain the character `#', and use of text-editor metacharacters like `&'
      and `\' is also unwise; the name in particular is best restricted to be
      alphanumeric.  A line starting with `#' is a comment and is ignored.

      In the victims, each line on which a substitution is to be made (a target
      line) must be preceded by a prototype line.  The prototype line should be
      delimited in such a way that it will be taken as a comment by whatever
      program processes the file later.  The prototype line must contain a
      ``prototype'' of the target line bracketed by `=()<' and `>()=';
      everything else on the prototype line is ignored.  Subst extracts the
      prototype, changes all instances of substitution names bracketed by `@<'
      and `>@' to their values, and then replaces the target line with the
      result.

EXAMPLE
      If the substitutions file is

            FIRST     111
            SECOND    222

      and the victim file is

            x = 2;
            /* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
            y = 88 + 99;
            z = 5;

      then ``subst -f substitutions victim'' changes victim to:

            x = 2;
            /* =()<y = @<FIRST>@ + @<SECOND>@;>()= */
            y = 111 + 222;
            z = 5;

FILES
      victimdir/substtmp.new    new version being built
      victimdir/substtmp.old    old version during renaming



10/89                                                                    Page 1







SUBST(1)                     UNIX System V(local)                      SUBST(1)


SEE ALSO
      sed(1)

DIAGNOSTICS
      Complains and halts if it is unable to create its temporary files or if
      they already exist.

HISTORY
      Written at U of Toronto by Henry Spencer.

BUGS
      When creating a file to be substed, it's easy to forget to insert a dummy
      target line after a prototype line; if you forget, subst ends up deleting
      whichever line did in fact follow the prototype line.








































Page 2                                                                    10/89





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026