




                             UNIX  Power  Tools for  DOS

                                     (UNIXDOS)O


                                     USER MANUAL




















                                                   



       UNIX on DOS Toolkiit (UNXIDOS)
                         Introduction to UnixDos




       INTRODUCTION                                                          5





       OVERVIEW                                                              6



        DOS/UNIX NAME CLASH                                                  6


       INSTALLATION                                                          6





       OVERVIEW BY FUNCTIONAL GROUPS                                         9



        MOVE/DELETE/CHANGE FILES/DIRECTORIES                                 9
        DISPLAY/SEARCH CONTENTS OF A FILE                                    9
        MANIPULATE FILE CONTENTS (ANALYSE, CONVERT, COUNT, EDIT, EXTRACT,
        SORT, SPLIT)                                                        10
        LIST/FIND FILES/DIRECTORIES                                         10
        COMPARE/MERGE FILES                                                 11
        USER INTERACTION                                                    11
        MISCELLANEOUS FUNCTIONS                                             11


       OVERVIEW BY ORIGIN                                                   12



        BASIC UNIX                                                          12
        BERKELEY UNIX                                                       13
        ADDITIONAL UNIXDOS UTILITIES                                        14


       OVERVIEW BY ALPHABET                                                 15





       ARGUMENT EXPANSION                                                   17




       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 2



       UNIX on DOS Toolkiit (UNXIDOS)
                         Introduction to UnixDos

        REGULAR EXPRESSION FOR FILE MATCHES                                 18
        UNIXDOS ARGUMENT EXPANSION EXTENSIONS                               20
        REGULAR EXPRESSION FOR TEXT SEARCHES                                26
        REGULAR EXPRESSION FOR TEXT SEARCH/REPLACEMENT                      27


       HOW TO GET HELP                                                      29

















































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 3



       UNIX on DOS Toolkiit (UNXIDOS)
                         Introduction to UnixDos



       DIFFERENCES BETWEEN DOS AND UNIX:                                    30



        FILENAME SEPARATOR:                                                 30
        FILENAMES:                                                          30
        USER GROUPS:                                                        30
        FILE LINKS:                                                         30
        FILE ACCESS TIMES:                                                  30
        PIPES:PROG1 | PROG2                                                 31
        ARGUMENT EXPANSION:                                                 31


       UNIXDOS IMPROVEMENTS/CHANGES TO `
                                       `
                                        
                                        
                                        CLASSIC UNIX'
                                                     '
                                                     
                                                      
                                                                            
                                                                            32





       UNIXDOS ENVIRONMENT VARIABLES                                        39





       ARGUMENT EXPANSION TEST MODULE: SHOW_EXP                             40





       FUTURE PLANS                                                         41






















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 4



       UNIX on DOS Toolkiit (UNXIDOS)
                         Introduction to UnixDos




       Introduction to UnixDos

       The `
           `UNIX on DOS Toolkit(UNIXDOS)'
                                         ' brings the power of UNIX to your
       DOS and any Windows environment! To make it available for as many users
       as possible we initially used the 16-bit environment and require no
       Windows Operation System. You can run all UNIXDOS utilities straight
       from the DOS prompt. We also offer now the more advanced 32bit UNIXDOS
       version for the Windows 95 and Windows NT (3.5x and 4.0) environment.

       We worked for many years in the UNIX environment and quickly grew very
       fond of it and its immense versatillity and power due to the ability to
       combine many utilities and commands into a string of steps. Especially
       the excellent design idea to allow `
                                          `linking'
                                                   ' of several individual
       utilities together using the pipe mechanism and processing text
       streams. This allows you to solve almost any data manipulation or
       administrative task and create very powerful new tools if your data is
       stored as plain text.

       Then we entered the MS-DOS world in 1988 and felt suddenly like a fish
       stranded on the beach: Against UNIX the set of DOS utilities looked
       very primitive and limited. (This didn't change even when the Windows95
       and WindowsNT hit the market). So we started to embark on a lengthy
       journey and develop a package which makes all the relevant UNIX
       utilities available under the MS-DOS environment. We also had a list
       were we felt the UNIX utilities could use some improvement, so while we
       were at it we also improved the behaviour of some utilities and added
       some new features
       (see `
            `Differences between UNIXDOS and classic UNIX'
                                                          ').

       We could have saved myself a lot of work by using other already
       existing UNIX packages on the market (MKS, PICNIX, DOSNIX etc.) but
       found them very limited in functionality or not so user friendly (see
       `
       `The Competition'
                        ').
       Also since there is no source code they can obviously not be
       customized!

       This manual is written for both the novice user and the professional
       expert.















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 5



       UNIX on DOS Toolkiit (UNXIDOS)
                                 Overview



       Overview

       The UNIX on DOS Toolkit[UNIXDOS] package allows you to run all relevant
       UNIX utilities under any native DOS (or emulated)  environment:
       . MS-DOS 5.00 or Higher
       . Windows 3.11 from MS-DOS Prompt
       . Windows 95 from MS-DOS Prompt
       . Windwos NT 3.5X from CMD Prompt
       . Windows NT 4.0 from CMD Prompt
       These UNIXDOS utilities are exact emulations of the standard UNIX
       commands.
       Some DOS specific adjustments and a few improvements have been made
       (see: UNIXDOS Improvements/Changes to `
                                             `Classic UNIX'
                                                           ')

       No special installation process is needed to run any UNIXDOS utility in
       your DOS environment -
       simply copying all UNIXDOS utilities into a new directory and updating
       the PATH is sufficient
       (see the 'Installation' section below for details).

       There are obviously some differences between the DOS and UNIX
       environment
       (see `
            `Differences between UNIX and DOS'
                                              '). In this manual the `
                                                                      `DOS
       Environment'
                  ' refers to a command window under Windows 3.1/95 and NT or
       the actual DOS prompt when you exit Windows.

       DOS/UNIX Name Clash

       Unfortunatelly some utilities have the same name under DOS and UNIX,
       but have a completely different functionallity.
       To have a clear distintion we prepended the 'u' for UNIXDOS utility
       name.
       Below is a list of those 8 clashes:

       UNIX      UNIXDOS   DOCUMENTATION NAME
       cd        ucd       (u)cd
       date      udate          (u)date
       echo      uecho          (u)echo
       find      ufind          (u)find
       join      ujoin          (u)join
       more      umore          (u)more
       sort      usort          (u)sort
       time      utime          (u)time

       To avoid confusion these utilities will still appear in the
       documentation at the places without the prepended `u' (ucd is found
       under `c' not `u').







       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 6



       UNIX on DOS Toolkiit (UNXIDOS)
                               Installation


       Installation

       You will need 10 Megabytes on your hard disk to install the full
       UNIXDOS package.
       Below you will find the simple steps to install the package:
       (If you 3.5 disk drive is on B: replace A: with B:)

       . Run `
              `Setup'
                     ' from the floppy drive:
         A:Setup

       . The SETUP program will prompt you for the destination drive (by
         default C:) and the destination directory (by default \UNIXDOS).

       . If the destination directory exists already SETUP will show a
         warning and give you a chance to abort

       . After UNIXDOS Vol#1 is installed you will be promted for Vol#2 and
         Vol#3

       . Once Vol#3 is installed SETUP will prompt you for your Serial Number
         and then install your user license on your machine. If you mistype
         by chance the Serial Number you can start the installation of your
         user license again by entering:
         A:UD_INST A:

       . Then SETUP reminds you to add the new UNIXDOS directory to the PATH:
         C:>set PATH=C:\DOS;C:\MSVC\BIN;C:\WINDOWS;C:\UNIXDOS


       License Agreement:

       You can freely distribute all the files in the UNIXDOS directory which
       will allow any new recipient a full 30 days period to evaluate UNIXDOS

       and enjoy it's full functionallity.

       After that test period all UNIXDOS utilities will stop functioning and
       will remind you about your registration (see `
                                                    `Registration'
                                                                  ').
       You are however NOT permitted to use the UD_INST utility to permanently
       install UNIXDOS on another machine.

       Moving your UNXIDOS License:

       In case you want to move UNIXDOS to another machine just follow the
       steps below:
       1. 
         Insert UNXDOS Vol#3 disk on the old machine
       2. 
         Uninstall the current UNIXDOS license (it will prompt you for your
         Serial Number):
         A:UD_MOVE A:
       3. 
         Insert UNIXDOS Vol#1 disk on the new machine
       4. 
         Install the UNIXDOS package and new license (it will prompt you for
         your Serial Number):
         A:UD_INST A:
       You can repeat this as many times as you like.

       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 7



       UNIX on DOS Toolkiit (UNXIDOS)
                               Installation

       In the unfortunate event that your hard disk crashes and you loose your
       UNIXDOS license,
       just write to us and we will send you a new UNIXDOS Vol#3 disk.





















































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 8



       UNIX on DOS Toolkiit (UNXIDOS)
                      Overview by functional Groups


       Overview by functional Groups

       Below is an overview by the following functional groups:
       . Move/delete/change files/directories
       . Display/search contents of a file
       . Manipulate file contents (analyse, convert, count, edit, extract,
         sort, split)
       . List/find files/directories
       . Compare/merge files
       . Miscellaneous

       Move/delete/change files/directories

       (u)cd          Change to specified directory
       chmod     Change file mode/attribute
       cp        Copy file(s) to new directory/file
       cpio      Copy/restore files to/from archive or move to new directory
       mkdir          Create new directory(ies)
       mv        Move file(s) to new directory/file
       mvdir          Rename directory
       rm        Remove file(s)/directory(ies)
       touch          Change file time

       Display/search contents of a file

       bgrep          Search in binary file for pattern or value
       bvi       Binary Viewer
       cat       Display text file contents
       egrep          Search text file(s) for one or several pattern (search
       expression)
       fgrep          Search text file(s) for one or several pattern (straight
       text)
       file      Display file type
       grep      Search text file for single pattern expression
       head      Display beginning of text file
       nl        Display line number and text file
       (u)more   Display text file one screen at a time and allow browsing
       od        Display any file contents as octal, decimal, hex or char
       values
       pr        Print a text file
       tail      Display the end of a text file
       tee       Display contents of a pipe and store also into file(s)
       strings        Display the text sections of any file (usually binary)












       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 9



       UNIX on DOS Toolkiit (UNXIDOS)
                      Overview by functional Groups


       Manipulate file contents (analyse, convert, count, edit, extract, sort,

       split)

       af        Analyse file
       b64       Decode Base64 Internet encoded files
       bed       Binary stream editor
       bsplit         Split a binary file into separate file chunks containing
       specified number of bytes
       cut       Extract columns/fields from a file
       dd        Convert file (ASCII/EBCDIC/upper/lower-case/swap bytes)
       dio       Direct disc input/output
       dos2unix  Convert DOS text files to UNIX
       getlines  Get range of lines from a file
       io        Extract file area and write to another file (at specified
       offset)
       sed       Extract  specified lines and/or insert/substitute text
       (u)sort        Sort file based on fields, columns or entire line
       split          Split a file into separate file chunks containing
       specified number of lines
       sum       Display the checksum of file
       tr        Translate a set of characters
       unix2dos  Convert UNIX text files to DOS
       uuencode  Convert binary file to ASCII codes for transmission
       uudecode  Convert ASCII file (from uuencode) back to binary
       wc        Count lines/words/characters in file


       List/find files/directories

       basename  Extract the filename+extension
       df        Display free space on disk(s)
       dirname   Extract the directory name
       drvname   Extract the drive letter
       extname   Extract the extension
       filename  Extract the filename without extension
       du        Display directories with occupied space
       ls        List files (and sort by name/size/time)
       (u)find        Find files based on name/size/time/type/filemode
       pwd       Display current directory
       slash          Convert DOS filename style to/from UNIX
       which          Find programs  by name













       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 10



       UNIX on DOS Toolkiit (UNXIDOS)
                      Overview by functional Groups


       Compare/merge files

       cf        High speed file compare byte by byte
       cmp       Compare two text files byte by byte
       cmpdir    Compare all files in two directories by time/size/contents
       comm      Display common/uncommon lines of two files
       diff      Compare two text files line by line
       join      Join two sorted text files based on common field
       paste          Join several text files
       uniq      Find unique lines/fields in sorted text file
       test      Check file size/type


       User Interaction

       line      Read one line from the keyboard
       usrchar   Prompt user for single character
       usrprmpt  Prompt user for text

       Miscellaneous Functions

       add       Add Numbers
       banner    Print text in big letters horizontally
       bbanner   Print text in very big letters horizontally vertically
       bell      Ring bell
       cal       Display calendar (month or entire year)
       clear          Clear the screen
       (u)date   Display/set the current date and time
       (u)echo   Display text, arguments or environment variables
       env       Display/set environment (and run program with new
       environment)
       expr      Calculate the specified expression
       ps        Display the memory usage
       sleep          Wait for specified number of seconds
       (u)time   Run a program and display elasped time
       uptime    Display elapsed time since last reboot
       saveexit  Save last errorlevel value
       setenv         Set environment variable(s)

















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 11



       UNIX on DOS Toolkiit (UNXIDOS)
                            Overview by Origin


       Overview by Origin

       Below is an overview by the following functional groups:
       . Basic UNIX
       . Berkeley UNIX
       . Additional UNIXDOS utilities

       Basic UNIX

       The UNIXDOS utility package contains the following standard UNIX
       commands:

       banner    Print text in big letters horizontally
       basename  Extract the filename+extension
       cal       Display calendar (month or entire year)
       cat       Concatinate several files
       (u)cd          Change to specified directory and drive!
       chmod     Change file mode/attribute
       cmp       Compare two files byte by byte
       comm      Display common/uncommon lines of two files
       cp        Copy file(s) to new directory/file
       cpio      Copy/restore files to/from archive or move to new directory
       cut       Extract columns/fields from a text file
       (u)date   Display/set the current date and time
       dirname   Extract the directory name
       dd        Convert file (ASCII/EBCDIC/upper/lower-case/swap bytes)
       df        Display free space on disk(s)
       diff      Compare two text files line by line
       dio       Direct disc input/output
       du        Display directories with occupied space
       (u)echo   Display text, arguments or environment variables
       egrep          Search text file(s) for one or several pattern (search
       expression)
       env       Display/set environment (and run program with new
       environment)
       expr      Calculate the specified expression
       fgrep          Search text file(s) for one or several pattern (straight
       text)
       file      Display file type
       (u)find        Find files based on name/size/time/type/filemode
       grep      Search text file for single pattern expression
       head      Display beginning of text file
       join      Join two sorted text files based on common field
       line      Read one line from the keyboard
       ls        List files (and sort by name/size/time)
       m4        Advanced macro processor for text files with own language
       mkdir          Create new directory(ies)
       mv        Move file(s) to new directory/file
       mvdir          Rename directory
       nl        Display line number and text file
       od        Display any file contents as octal, decimal, hex or char
       values
       paste          Join several text files
       pr        Print a text file

       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 12



       UNIX on DOS Toolkiit (UNXIDOS)
                            Overview by Origin

       ps        Display the memory usage
       pwd       Display current drive and directory
       rm        Remove file(s)/directory(ies)
       sed       Extract  specified lines and/or insert/substitute text
       sleep          Wait for specified number of seconds
       (u)sort        Sort file based on fields, columns or entire line
       split          Split a file into separate file chunks containing
       specified  number of lines
       sum       Display the checksum of file
       tail      Display the end of a text file
       tee       Display contents of a pipe and store also into file(s)
       test      Check file size/type
       (u)time   Run a program and display elasped time
       touch          Change file time
       tr        Translate a set of characters
       uniq      Find unique lines/fields in sorted text file
       wc        Count lines/words/characters in file

       Berkeley UNIX

       Additionally UNIXDOS contains the following Berkeley UNIX extensions:
       bbanner   Print text in very big letters horizontally vertically
       clear          Clear the screen
       (u)more   Display text file one screen at a time and allow browsing
       setenv         Set environment variable(s) (in C-Shell: csh)
       strings        Display the text sections of any file (usually binary)
       uptime    Display elapsed time since last reboot
       uuencode  Convert binary file to ASCII codes for transmission
       uudecode  Convert ASCII file (from uuencode) back to binary
       which          Find programs  by name


























       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 13



       UNIX on DOS Toolkiit (UNXIDOS)
                            Overview by Origin

       Additional UNIXDOS utilities

       UNIXDOS contains also the following new additional utilities:
       add       Add Numbers
       af        Analyse file
       b64       Decode Base64 Internet encoded files
       bed       Binary stream editor
       bell      Ring bell
       bgrep          Search pattern in binary file
       bvi       Binary file Viewer
       cf        High speed file compare of two binary files byte by byte
       cmpdir    Compare all files in two directories by time/size/contents
       dio       Direct disc input/output
       dos2unix  Convert DOS text files to UNIX
       drvname   Extract the only drive letter in a path name
       extname   Extract the file extension
       filename  Extract the filename without extension
       getlines  Get range of lines from a file
       io        Extract specified area within a file and write to another
       file (at specified offset)
       saveexit  Save last errorlevel value
       slash          Convert filenames to/from UNIX/DOS style
       stderr         Redirect output from STDERR to STDOUT
       unix2dos  Convert UNIX text files to DOS
































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 14



       UNIX on DOS Toolkiit (UNXIDOS)
                           Overview by Alphabet


       Overview by Alphabet

       add       Add Numbers
       af        Analyse file
       b64       Decode Base64 Internet encoded files
       banner    Print text in big letters horizontally
       basename  Extract the filename+extension
       bbanner   Print text in very big letters horizontally vertically
       bed       Binary stream editor
       bell      Ring bell
       bgrep          Search pattern in binary file
       bsplit         Split a binary file into separate file chunks containing
       specified number of bytes
       bvi       Binary file Viewer
       cal       Display calendar (month or entire year)
       cat       Concatinate several files
       (u)cd          Change to specified directory and drive!
       cf        High speed file compare of two binary files byte by byte
       chmod     Change file mode/attribute
       clear          Clear the screen
       cmp       Compare two files byte by byte
       cmpdir    Compare all files in two directories by time/size/contents
       comm      Display common/uncommon lines of two files
       cp        Copy file(s) to new directory/file
       cpio      Copy/restore files to/from archive or move to new directory
       cut       Extract columns/fields from a text file
       (u)date   Display/set the current date and time
       dd        Convert file (ASCII/EBCDIC/upper/lower-case/swap bytes)
       df        Display free space on disk(s)
       diff      Compare two text files line by line
       dio       Direct disc input/output
       dirname   Extract the directory name
       dos2unix  Convert DOS text files to UNIX
       drvname   Extract the only drive letter in a path name
       du        Display directories with occupied space
       (u)echo   Display text, arguments or environment variables
       egrep          Search text file(s) for one or several pattern (search
       expression)
       env       Display/set environment (and run program with new
       environment)
       expr      Calculate the specified expression
       extname   Extract the file extension
       fgrep          Search text file(s) for one or several pattern (straight
       text)
       file      Display file type
       filename  Extract the filename without extension
       (u)find        Find files based on name/size/time/type/filemode
       getlines  Get range of lines from a file
       grep      Search text file for single pattern expression
       head      Display beginning of text file
       io        Extract specified area within a file and write to another
       file (at specified offset)
       join      Join two sorted text files based on common field
       line      Read one line from the keyboard

       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 15



       UNIX on DOS Toolkiit (UNXIDOS)
                           Overview by Alphabet

       ls        List files (and sort by name/size/time)
       m4        Advanced macro processor for text files with own language
       mkdir          Create new directory(ies)
       (u)more   Display text file one screen at a time and allow browsing
       mv        Move file(s) to new directory/file
       mvdir          Rename directory
       nl        Display line number and text file
       od        Display any file contents as octal, decimal, hex or char
       values
       paste          Join several text files
       pr        Print a text file
       ps        Display the memory usage
       pwd       Display current drive and directory
       rm        Remove file(s)/directory(ies)
       saveexit  Save last errorlevel value
       sed       Extract  specified lines and/or insert/substitute text
       setenv         Set environment variable(s) (in C-Shell: csh)
       slash          Convert filenames to/from UNIX/DOS style
       sleep          Wait for specified number of seconds
       (u)sort        Sort file based on fields, columns or entire line
       split          Split a file into separate file chunks containing
       specified  number of lines
       stderr         Redirect output from STDERR to STDOUT
       strings        Display the text sections of any file (usually binary)
       sum       Display the checksum of file
       tail      Display the end of a text file
       tee       Display contents of a pipe and store also into file(s)
       test      Check file size/type
       (u)time   Run a program and display elasped time
       touch          Change file time
       tr        Translate a set of characters
       uniq      Find unique lines/fields in sorted text file
       unix2dos  Convert UNIX text files to DOS
       uptime    Display elapsed time since last reboot
       usrchar   Prompt user for single character
       usrprmpt  Prompt user for text
       uudecode  Convert ASCII file (from uuencode) back to binary
       uuencode  Convert binary file to ASCII codes for transmission
       wc        Count lines/words/characters in file
       which          Find programs by name
















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 16



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion


       Argument Expansion

       The `
           `argument expansion'
                               ' allows you to specify an entire group of
       files instead of having to type each individual filename on the command
       line.
       Example:

       You have the following three files in the current directory `do_arg.c',
       `more.c' and `wc.c'.
       To copy all these to the `/tmp' directory you have to type:
       cp do_arg.c more.c wc.c /tmp

       You can imagine this can be very tedious and error prone, so more than
       20 years ago when the UNIX environment was built the `
                                                            `argument
       expansion'
                ' was introduced.
       So now you can just type:
       cp *.c /tmp
       And `*.c' will be `
                         `expanded'
                                   ' to the list of all files ending with
       `.c'.
       In UNIX this `
                    `expansion'
                               ' job is centrally done automatically for you
       no matter which utility you use at the command line (from the `
                                                                     `Shell'
                                                                            '
       which surrounds the operating system like the shell in the sea
       surrounds a pearl).
       In DOS the command line is completely `
                                             `dead'
                                                   ' because the `
                                                                  `shell'
                                                                         '
       (command.com) does not do any expansion, only some internal commands
       have a very limited `
                           `expansion'
                                      ' inbuilt (DIR, COPY, etc...).
       To fill this gap we included in all individual UNIXDOS utilities the
       full `
            `expansion'
                       ' logic, so that you don't have to remember which
       utility has expansion and which not and you don't need any installation
       like in other products (MKS).

       The most powerful argument expansion can (still) be found in the UNIX
       environment, while DOS is still very primitive.
       Example:
       To copy your C sources and include files in DOS you have to type two
       separate commands:
       DOS: copy *.c  A:
            copy *.h  A:

       While UNIX allows you to do the job in one go:
       UNIX:     cp *.c *.h  a:

       You could even use a more sophisticated expression (see below under
       `
       `Regular Expression'
                           '):
       UNIX:     cp *.[ch] a:

       The UNIXDOS utilities provide `
                                     `Regular Expression'
                                                         ' for file matching
       and even more powerful features (see `
                                            `UNIXDOS Argument Expansion
       Extensions'
                 ').






       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 17



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion


       Regular Expression for File Matches


       The UNIX `
                `Regular Expression'
                                    ' allows you to find specific filenames.
       To communicate your search criteria the following meta characters are
       used:

       *    Wildcard: Matches any number of characters.

                      Example:
                      a*   matches all files starting with 'a' of any length.
                      *.c  matches all files with the extension '.c'

       ?    Wildspace:     Matches any single character.

                      Example:
                      ??.c matches all files starting with excactly 2
       characters and extension `.c'
                      *.?? matches all files which have a 2 letter file
       extension

       [...]     List:          Matches any single character which is part of

       the specified list/range.
                      Example:
                      [xyz+]*   matches all files starting with x,y or z or +
                      [a-f]*    matches all files starting with a,b,c,d,e or f
       (range)
                      [a-fxyz]* matches all files starting with a,b,c,d,e, f
       (range) or x,y,z(list)

       [^...]    Inverted List: Matches any single character which is NOT part

       of the specified list/range.
                      Example:
                      [^xyz]*   matches all files not starting with x,y or z
                      [^a-f]*   matches all files not starting with a,b,c,d,e
       or f (range)
                      [^a-fxyz]* matches all files not starting with
       a,b,c,d,e, f or x,y,z


       \c   Escape:   Disable the special meaning of meta character `c'

                      Example:
                      ab\? matches all files not starting with `ab' and `?'

       You can use any combination of the above meta characters.
       Example:
       [a-c]m*.[^ch]*      matches all files starting with a,b or c,
                      always followed by the letter m,
                      followed by any number of characters (or none),
                      always followed by the `.' character,


       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 18



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

                      followed by any character except c and h (in the file
       extension)
                      followed by any number of characters (or none)





















































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 19



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

       UNIXDOS Argument Expansion Extensions


       In addition the already powerful UNIX `
                                             `Regular Expression'
                                                                 ' search
       mechanism UNIXDOS provides the following added features:
       {re} stands for a `
                         `Regular Expression'
                                             ' (see above)

       !{re}          Full Invert:   Matches any file NOT fullfilling the

       regular expression `{re}'.
                           Example:
                           !*.c matches all files NOT having the file
       extension `.c'
                           !*.* matches all files which have NO file extension

       !{re1}!{re2}   Selective Invert: Matches any file NOT fullfilling the

       regular expression `{re1}'
                           within all files matching `{re2}'.
                           Example:
                           ![d-m]*!*.c    matches all files with file
       extension `.c' which
                                               do NOT start with
       d,e,f,g,h,i,j,k,l,m

       @lst      File List:     Reads text file `lst' and places each line as

       a separate argument
                           Example:
                           text file `new.lst' contains the following 5 lines:
                           *.c
                           *.cpp
                           *.h
                           *.hpp
                           *.ipp
                           The following command line:
                           ls @lst becomes: ls *.c  *.cpp *.h *.hpp *.ipp
                           which becomes: ls {all C Sources and include files}
                           (instead of `ls' any UNIXDOS utility could be
       used!)
       $env      Env.Variable: UNIX style access to an environment variable

       `$env'.
                           Example:
                           set CLST=*.c
                           ls $CLST becomes: ls *.c  becomes: ls {all C
       Sources}
                           (instead of `ls' any UNIXDOS utility could be
       used!)

       %env      Env.Variable: DOS style access to an environment variable

       `%env' or `%env%'.
       %env%               Example:
                           set CLST=*.c

       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 20



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

                           ls %CLST becomes: ls *.c  becomes: ls {all C
       Sources}
                           (instead of `ls' any UNIXDOS utility could be
       used!)




















































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 21



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion


       $UD{prog} Automatic Environment Variable:

                           Automatically includes the contents of the
       automatic program                       Environment Variable. The name
       is composed of `
                      `UD'
                          ' in the                       beginning directly
       followed by the capitalized letters of the program.
                           Example:

                           program `
                                   `df'
                                       ' would use env Variable `
                                                                 `UDDF'
                                                                       '.
                           This means you can easily implement the desired
       default
                           behaviour of any UNIXDOS utility, by setting the
       corresponding                      environment variable! - for example
       to NOT get error message for
                           files from RM which are already gone set UDRM=-s

                           Examples:

                           set UDLS=-lt
                           ls *.c becomes: ls -lt *.c
                           To alert you about the automatic inclusion of the
       default                            arguments it will display the
       following message:
                           Adding default environment: $UDLS=-lt
                           If this message bothers you prepend the `!'
       character:
                           set UDLS=!-lt
                           This will suppress the message but still use the
       value after `!'
                           If you want to specify several arguments use the

       UNIXDOS                            separator:
                           set UDLS=-lt;*.c;*.h;*.cpp;*.hpp
                           To change the separator specify your separator
       character in the
                           UNIXDOS configuration file (see below)
                           (instead of `ls' any UNIXDOS utility contains this
       feature,
                           i.e. set UDGREP=... is the `
                                                      `Automatic Variable'
                                                                          '
       for UD GREP)

       cargc          No Expansion: If arguments are enclosed in forward

       single quotes
                           any expansion is suppressed.
                           Example:
                           ufind / -name c*.c' -ls
                           Will NOT expand `*.c' into the list of C source but
       passes this
                           `
                           `regular expression'
                                               ' on to the `
                                                            `ufind'
                                                                   ' UNIXDOS
       utility which
                           does the expansion internally



       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 22



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

       ~[fn~]text     File text exchange: This feature allows you to pass text

       `
       `text'
             ' into any UNIXDOS ~[fn~]$ENV               program as a
       filename. It will write the `
                                   `text'
                                         ' to a file and then 
                 replace the argument with the filename. If you specify your
       own                      filename UNIXDOS will use it - otherwise it
       will create a new
                           temporary filename (fileex01.tmp, fileex02.tmp...).
                           Example:
                           cut -f2 `
                                   `-d;'
                                        ' ~$PATH
                           Will display the second directory in the $PATH
       environment.
                           cut -c1-10 `
                                      `~text1.tmp~This is straight text'
                                                                        '
                           Will show the first 10 character of the text and
       create file `text1.tmp':
                           This is st








































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 23



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

       `cmd`          Run Program(s):

                 Will execute all command(s) within backward single quotes
       `cmd' and
                 places each line in the output as a new argument on the
       command line.
                 Example:
                 banner `udate`
                 Will show run `udate' (which gives the `
                                                        `Day-of-the-Week
       Month Day'
                ') and
                 then place the output as one argument for the `banner'
       program to
                 show the date in big letters:
       #     #                            #                             #####
       #
       #  #  #  ######  #####            # #    #    #   ####          #     #
       ##
       #  #  #  #       #    #          #   #   #    #  #    #               #
       # #
       #  #  #  #####   #    #         #     #  #    #  #               #####
       #
       #  #  #  #       #    #         #######  #    #  #  ###         #
       #
       #  #  #  #       #    #         #     #  #    #  #    #         #
       #
        ## ##   ######  #####          #     #   ####    ####          #######
       #####

                 This is a very powerfull feature which allows you to run one
       or several commands           and convert each line in the output to a

       new argument.
                 You can even use redirection and piping within your command
       sequence!
                 Since the default characters for piping(|), input(<) and
       output(>) will be                  immediatelly executed from the
       `
       `Shell'
              ' we replaced them with the following defaults:
                           DOS  UNIXDOS   Config Command Example
                 pipe      |    #         PIPE=#         ls # wc -lt
                 input     <    {         IN={           ls } x
                 output    >    }         OUT=}          wc { x
                 separator      ;         SEP=;          ls } x;wc { x
                 file exchange  ~         FEX=~          cut -c2-10 ~mytext
                 workfile                 WRK=~          (internal)
                 You can redefine our own values by placing `
                                                            `Config
       Commands'
               ' in the
                 `unixdos.cfg' UNIXDOS configuration file in the same
       directory where the                     UNIXDOS utilities are located.
                 Example:
                 banner `udate } wrk.tmp;cut -f3,2,5 { wrk.tmp`
        #####     #               #                               #     #####
       #####
       #     #   ##              # #    #    #   ####            ##    #     #
       #     #


       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 24



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

             #  # #             #   #   #    #  #    #          # #    #     #
       #     #
        #####     #            #     #  #    #  #                 #     ######
       ######
       #          #            #######  #    #  #  ###            #          #
       #
       #          #            #     #  #    #  #    #            #    #     #
       #     #
       #######  #####          #     #   ####    ####           #####   #####
       #####
                 Will first run `udate' and place the output into file
       `wrk.tmp'.
                 Then it will redirect file `wrk.tmp' as input into `cut' and
       select fields 3,2 and 5 in              that order.  To eliminate the
       blanks use:
                 banner `udate}x1;cut -f3,2,5{x1}x2;sed \"s: ::g \" x2`
        #####     #       #                       #     #####   #####   #####
       #     #   ##      # #    #    #   ####    ##    #     # #     # #     #
             #  # #     #   #   #    #  #    #  # #    #     # #     # #
        #####     #    #     #  #    #  #         #     ######  ###### ######
       #          #    #######  #    #  #  ###    #          #       # #     #
       #          #    #     #  #    #  #    #    #    #     # #     # #     #
       #######  #####  #     #   ####    ####   #####   #####   #####   #####

































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 25



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

       Regular Expression for Text Searches


       Some UNIXDOS utilities use `
                                  `regular expression'
                                                      ' to select specific
       text pattern from text files.
       The following UNIXDOS utilities use text searches: grep, egrep, fgrep,
       sed, ufind, umore, which.
       The following additional meta characters are available:

       ^    Line Begin:    Refers to the beginning of each line.

                      Example:
                      ^a*       matches all lines starting with letter `a'.
                      ^[^m-w]*  matches all lines NOT starting with
       m,n,o,p,q,r,s,t,u,v,w

       $    Line End: Refers to the end of each line.

                      Example:
                      a$        matches all lines having the letter `a' in the
       last column
                      [^a-f]$   matches all lines NOT having the `a' thru `f'
       in the last column

       .    Wildspace:     Matches any single character. (? is only used for

       File matching!)
                      Example:
                      ^..[a-f]  matches all lines starting with excactly 2
       characters always
                                     followed by a,b,c,d,e or f
                      [D0-9].$  matches all lines ending with D or a single
       digit and always
                                     followed by any single character






















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 26



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion


       Regular Expression for Text Search/Replacement


       Some UNIXDOS utilities use `
                                  `regular expression'
                                                      ' to select specific
       text pattern from text files and define a replacement for those
       patterns:
       sed

       The following additional meta characters are available to use
       `
       `groups'
               ' as separate pieces of the substitution pattern:

       \(   Group Start:   Indicates the beginning of a substitution group.

       \)   Group End:     Indicates the ending of a substitution group.

                      Example:
                      \(a$      matches all lines having the letter `a' in the
       last column
                      [^a-f]$   matches all lines NOT having the `a' thru `f'
       in the last column
       \n   Group Ref:     Refers to group number `n'.

                      Example:
                      \3        refers to group number 3

       Example:
       In this example we first get the list of all environment variables:
       set > set.lst

       HELPFILES=c:\windev\help
       HOMEDRIVE=C:
       HOMEPATH=\users\default
       INCLUDE=c:\madhur\src\dx\def;\msvc\include
       INIT=C:\MSVC
       ISLVINI=t:\pvcs
       LDFLAGS=/B/NOI/NOE/SE:1000/ST:4000
       LDLIB=llib
       LIB=c:\madhur\lib;c:\msvc\lib
       LIBPATH=t:\pvcs\dos

       In this example we switch column 2 with column 1 using `=` as delimiter
       and insert the text `is the value of':
       sed `
           `s:\(.*\)=\(.*\):\2 is the value of \1:'
                                                   ' set.lst

       C: is the value of HOMEDRIVE
       \users\default is the value of HOMEPATH
       c:\madhur\src\dx\def;\msvc\include is the value of INCLUDE
       C:\MSVC is the value of INIT
       t:\pvcs is the value of ISLVINI
       /B/NOI/NOE/SE:1000/ST:4000 is the value of LDFLAGS
       llib is the value of LDLIB
       c:\madhur\lib;c:\msvc\lib is the value of LIB
       t:\pvcs\dos is the value of LIBPATH


       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 27



       UNIX on DOS Toolkiit (UNXIDOS)
                            Argument Expansion

























































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 28



       UNIX on DOS Toolkiit (UNXIDOS)
                             How to get Help


       How to get Help

       Each UNIXDOS utility has an inbuilt short help screen explaining all
       the options and switches available for that utility.
       If the UNIXDOS utility has no required arguments you will automatically
       get a short help display when you type the utility name.

       Example:

       cp requires at least two arguments (the `
                                               `source'
                                                       ' and `
                                                              `destination'
                                                                           '):
       cp

       Will display (after the initial 2 intro lines):
       cp (Copy files)
       usage: cp [-{l|f|v}] {src} {dest}
       -f     = force : always remove old files (even if read-only)
       -l     = list  : show which file is currently copied
       -v     = verify: verify that input is identical to output
       src    = source file(s)
       dest   = destination (has to be directory if several source files)

       Those UNIXDOS utilities which do NOT require any arguments will display
       the help screen when you enter the argument `-?'.

       Example:

       LS requires no arguments (in which case it display all files in the
       current directory);
       to get help type:
       ls -?

       Will display (after the initial 2 intro lines):
       ls (List files and directories)
       usage: ls [-CFRdelrstxy] [files]
       -C = COLUMN   : suppress multi column output
       -F =          : suppress '/' for diretories, '*' for execs
       -R = RECURSIVE: list all subdirectories
       -d = DIRECTORY: show only directory detail NOT all files in it
       -e = EXTEND   : show filesize in extended format (30,764,678)
       -l = LONG     : long listing (default sort by name)
       -r = REVERSE  : reverse the sort order
       -s = SIZE     : sort by file size (show 1k increments)
       -t = TIME     : sort by time
       -x = ACCROSS  : sort across lines instead of down the column
       -y = TYPE     : sort by file type/extension
       (If the output is redirected to a file LS automatically prints each
       file
       on a separate line: ls > lst.tmp







       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 29



       UNIX on DOS Toolkiit (UNXIDOS)
                    Differences between DOS and UNIX:



       Differences between DOS and UNIX:

       Filename Separator:

       UNIX separates the filename and directory with  the forward
       slash '/' (e.g "/usr/src/file.c").
       Unfortunatelly DOS changes this and is using the backward slash '\'
       (e.g "\USR\SRC\FILE.C").
       UNIXDOS allows you to enter files in both forms and will always
       convert to the UNIX notation unless you enclose in single quotes (e.g.
       '\usr\src\file.c')

       Filenames:

       DOS has the following fixed structure for the filenames:
       up to 8 places for the filename + up to 3 for the extension (e.g.
       FILE.TXT).

       UNIX allows a longer filename (14 or in `
                                               `Berkeley UNIX'
                                                              ' up to 255
       places) and uses the separating dot just as any other character - so
       you can have several "extensions" of various lengths ('file.longext' or
       'programname' or 'lex.a.c' are valid filenames)
       UNIXDOS can handle up to 15 directories levels deep.

       User groups:

       UNIX provides three user groups and connected layers of restrictions:
       the owner, the group and others
       DOS has only one: the owner

       File links:

       UNIX allows access to the same file using different name(s) - socalled
       "links" (not `
                    `hot dogs'
                              ').
       DOS does not provide this feature.

       File access times:

       UNIX maintains 3 different file times:
       creation time, modification time and last access time
       DOS maintains only the modification time.













       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 30



       UNIX on DOS Toolkiit (UNXIDOS)
                    Differences between DOS and UNIX:


       Pipes:prog1 | prog2


       UNIX allows you to run several programs simultaneously and
       connect the input of one program to the output of another program
       via a "pipe". This communication is done entirely in memory and is
       therefore
       very fast and does not require any additional disk space.
       DOS does not allow you to run two programs simultaneously so DOS will
       run the first program until it completes, store the output in a
       temporary disk
       file and then start the second program and feed it the temporary disk
       file (output from prog1)
       and remove it after it has been read (unless you interrupt with Ctrl-C)
       in which case you get lots of `
                                     `left-overs'
                                                 ' sitting around.

       Argument expansion:


       UNIX will expand the arguments before any program starts using the

       "Shell" (Bourne Shell, C Shell or Korn Shell). This means that the
       program does not have to worry about translating any expressions into
       the proper argument list (i.e. translate '*.c' into the list of all C
       source files).
       DOS(COMMAND.COM) will not expand any arguments for you. So each UNIXDOS

       utility has to do this argument expansion job individually.



























       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 31



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '


       UNIXDOS Improvements/Changes to `
                                       `Classic UNIX'
                                                     '

       Sorting

       UNIX utilities just scan the directory sequentially and so you get an
       unsorted list:
       du, find etc.
       UNIXDOS will always sort the top level and each sub level in descending
       operations so you always will get a sorted list (unless you want to
       switch it off with `
                          `set UDNOSORT=ON'
                                           ')

       Argument Expansion

       UNIXDOS provides the full UNIX argument expansion functionality but
       adds even more power thru the following features:
       . full file match inversion:       ls !*.zip
       . partial file match inversion:    ls ![a-m]*!*.zip
       . file contents retrieve:          ls @file.lst
       . file text exchange:         cut -c5-10 ~ThisIsText   displays: IsText
       . multiple commands:          luecho `ls } x1.tmp;wc -lt { x1.tmp`
         files
       . automatic environment:      set UDLS=-le; ls x*
       . two level expansion:        scat `*.c` > c.lst; ls @c.lst

       (u)cd (Current directory)

       If you call `
                   `cd'
                       ' without any argument under UNIX it will go
       automatically to the `
                            `homedirectory'
                                           '.
       In DOS there is no reliable equivalent so instead the UNIXDOS `
                                                                     `cd'
                                                                         '
       will show you the current drive and directory.

       cp/mv (Check Destination)

       "cp" and "mv" will not check if the last argument on the command line
       is a directory and it will silently create a new file and leave you
       under the wrong impression that all the specified files have been
       moved. Here is an example:
       You want to move all C source to the `
                                            `\tmp'
                                                  ' directory, but you make a
       typo and forget the slash in front of tmp:
       mv *.c tmp          (instead of: mv *.c /tmp)
       Instead of finding all your C sources in the `
                                                    `/tmp'
                                                          ' directory, you
       will only find the last C source in the file `
                                                    `tmp'
                                                         ' in the current
       directory and all the other C sources are lost!
       `
       `cp'
           ' and `
                  `mv'
                      ' in UNIXDOS will first check if the last argument is a
       directory (when more than 2 files are specified) and give you an error
       message if this is not the case.

       cp/mv/rm (Show Progress)

       "cp", "mv" and "rm" have no option which will show you the currently
       processed files, so that you can see the progress (as `
                                                             `cpio'
                                                                   ' is doing
       it so nicely) and even the new destination. UNIXDOS allows you to see
       each file as it is processed (-l option).


       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 32



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '

       cp/mv (Verify)

       "cp" and `
                `mv'
                    ' have no verify option which actually re-reads the new
       copy and compares it against the original.
       UNIXDOS provides the verify feature (-v option) to compare the copy
       against the original. This applies only in those cases to the `
                                                                     `mv'
                                                                         '
       utility when you move files between drives(file systems).

       cut (Honor Field Sequence)

       The UNIX "cut" ignores the sequence in which you specify the selected
       fields:
       cut -f3,1  is identical under UNIX to:
       cut -f1,3
       UNIXDOS will not ignore the specified field sequence and will allow you
       to rearrange the field sequence.


       cut (Allow reverse character extraction)

       The UNIX "cut" does not allow character extraction counting from the
       end of the line(s):
       cut -C5-10 ~ThisIsText
       Will produce:
       ThisIs


       cmp (Show Filename and Hex Values)

       UNIX "cmp" does not show you the filenames or any hexadecimal/text
       values (only octal).
       UNIXDOS lists the filenames first, so you can easily see which values
       go with which file, and also shows the result in hex and text form.

       df (Show Bytes not Blocks)

       UNIX "df" displays the free space by default in number of blocks(which
       varies in size) instead of bytes like UNIXDOS. The MKS and other DF
       ports also show the wrong result for big SCSI drives or Network drives
       (see `
            `df'
                ')


       diff (User-friendly Display)

       UNIX "diff" shows the comparison result as a command sequence for the
       `
       `ed'
           ' editor - it is NOT meant for regular humans to read this kind of
       crypting output. Also you cannot see the filename only the `
                                                                  `>`
                                                                     ` or
       `
       `<`
          ` character to easily see which text goes with which input file.
       UNIXDOS will show the differences in an easily readable form and also
       allows you to view the context sorrounding the differences.

       dircmp (Faster and focus can be choosen)

       This is a very slow shell script and is not flexible to compare by
       time/size/contents.

       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 33



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '

       UNIXDOS provides a high-speed tool to compare entire directories using
       the time, size or contents (cmpdir)






















































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 34



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '

       du (Show (Mega)Bytes in sorted sequence)

       UNIX "du" displays the used space in blocks (which varies in size)
       which is very user-unfriendly and does not allow you to see the actual
       bytes without the empty padding space. Also it displays the result in
       an arbitrary unsorted sequence, while UNIXDOS DU always displays the
       result in sorted sequence.
       UNIXDOS will show the result in alphabetical order in megabytes and
       allows you to discard the padded empty space (so that you can correctly
       compare when you copy directory trees to a new media with a different
       block size!).

       (u)echo (Enable/Disable escape logic and space between arguments)

       UNIX/MKS does not allow you to enable or disable the automatic escape
       character logic and automatic space insertion between arguments. This
       might be essential if you work with the problematic backslash in DOS
       path names - or if you have to join arguments without a separatin space
       in between.


       (u)find (Show results in sorted sequence)

       UNIX "find'
                 ' displays the searched files in an arbitrary unsorted
       sequence, while UNIXDOS UFIND always displays the result in sorted
       sequence.

       (u)find (Add -older and -NEWER/-OLDER option)

       UNIX "find'
                 ' does not have the capability to also search for files
       which are older, while UNIXDOS UFIND makes this option available and
       therefore allowing you to search for an actual time window. It also
       allows to search for after/before oe equal with the -NEWER and -OLDER
       option.

       grep (Allow long line length and descend into subdirectories)

       "egrep","fgrep" and "grep" cannot handle lines longer than 1024 bytes
       which can easily be too short when you work with larger database dumps.
       Also the UNIX `
                     `grep'
                           ' does not provide a descending option so that you
       can also easily scan all subdirectories.
       UNIXDOS can handle lines up to 10,000 bytes and allows you to descend
       into all the subdirectories with the `
                                            `-d'
                                                ' option.

       rm (Show file details for read-only files)

       "rm" does not show all the file details when you use the interactive '-
       i' option.
       UNIXDOS will show you all details (ls -l) equivalent.

       sed (Allow non text for substitution)

       The UNIX "sed" cannot substitute text for LineFeeds (\n) etc.



       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 35



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '

       UNIXDOS allows you to substitute also with control codes (\n or \hex
       code).

       sed (Allow long line length)

       "sed" cannot handle lines longer than 1024 bytes which can easily be
       too short when you work with larger database dumps. UNIXDOS can handle
       lines up to 10,000 bytes.

       tail (Better roll-back)

       UNIX "tail" cannot go back more than 4096 bytes. UNIXDOS can go back up
       the 20,000 bytes.











































       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 36



       UNIX on DOS Toolkiit (UNXIDOS)
             UNIXDOS Improvements/Changes to `
                                              `Classic UNIX'
                                                           '

       The Competition

       MKS
       The biggest competitor to the `
                                     `UNIX on DOS Toolkit (UNIXDOS)'
                                                                    ' is the
       MKS Toolkit from Canada.
       It is a great package but has the following limitations and drawbacks:
       . All utilities need the `/etc' directory installed on each drive you
         will use
         (UNIXDOS does NOT need any special installation or `/etc' directory)

       . Argument expansion fails in directories with more than approximately
         800 files
         (UNIXDOS handles up to 3000 arguments on the command line)

       . The text line length is usually limited to 1024 character
         (UNIXDOS work up to 10,000 characters)

       . Argument expansion has no inversion(!*.c) or file list input (@lst)

       . Does not have most of the UNIXDOS improvements (see `
                                                              `Improvements
         to Classic UNIX)

       . high price/not shareware

       WinXs
       This package is shareware for $15 but strictly runs all the UNIX
       utilities only as Windows applications, so you will have to point and
       click a lot and it is missing lots of utilities.

       DOSNIX
       This package is shareware for $35 but has no `
                                                    `regular expression'
                                                                        ' or
       any of the other regular UNIX argument expansions (try: ls a* or ls
       *exe). It also misses lots of UNIX utilities. Some utilities are still
       in a very early stage (like df which shows you the free bytes but no
       total bytes or percent used).





















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 37



       UNIX on DOS Toolkiit (UNXIDOS)
                      UNIXDOS Environment Variables


       UNIXDOS Environment Variables
       set EDITOR=b        Editor to be used in `
                                                `more'
                                                      ' utility (default is
       vi)
       set PATH=....       Main program directory list used from `
                                                                 `which'
                                                                        '
       utility

       since UNIXDOS is such a long code for all the environment variables UD
       is used instead:
       set UDDIFF=vdiff -b      Defines the `diff' program for the CMPDIR
       utility
       set UDEXIT=c:\myexit.txt Defines the filename fto store the exit value
       (test.exe, saveexit.bat)
       set UDNETLST=G-Z    Defines the list of network drives (used by df)
       (default is F-Z)
       set UDNOSORT=ON     suppress automatic file/directory sort during
       expansion
       set UDPATHEXT=.exe;.bat;.pif   define custom executable file extension
       list  (ls, which)
       set UDRETRY=5       number of retries when verify fails (cp, mv)
       (default is 10)
       set UDVER=ON        Show the UNIXDOS utility version
       set TMP=c:\temp          point to temporary work directory (if not set
       root `
            `/'
               ' is used)

       set UDAF            Custom environment for AF utility
       set UDGREP               Custom environment for GREP utility (and so
       forth for all utilities)




























       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 38



       UNIX on DOS Toolkiit (UNXIDOS)
                 Argument Expansion Test Module: SHOW_EXP


       Argument Expansion Test Module: SHOW_EXP
       This powerful UNIXDOS argument expansion can get a bit confusing, so we
       created a small test utility, which just echos the arguments to put in
       and shows you the final arguments which would be passed into your
       program.

       Example:

       set UDSHOW_EXP=au*.bat;*.sys
       show_exp $LIB `udate`

       Adding default environment: $UDSHOW_EXP=au*.bat;*.sys
       Arguments before expansion:
       --------------------------------------------------------
       IN:  argv[ 0] = c:\put\SHOW_EXP.EXE
       IN:  argv[ 1] = $LIB
       IN:  argv[ 2] = `udate


       Arguments after expansion:
       --------------------------------------------------------
       OUT: argv[ 0] = c:/put/show_exp.exe
       OUT: argv[ 1] = autoexec.bat
       OUT: argv[ 2] = config.sys
       OUT: argv[ 3] = io.sys
       OUT: argv[ 4] = msdos.sys
       OUT: argv[ 5] = pagefile.sys
       OUT: argv[ 6] = c:\lib;c:\msvc\lib
       OUT: argv[ 7] = Thu Aug 29 16:00:06 1996

       Notice how the following expansions take place:
       First the automatic environment for SHOW_EXP is pulled in and expanded,
       We used the separator `;' to specify two regular expressions
       `
       `au*.bat'
                ' and `
                       `*.sys'
                              ':
       UDSHOW_EXP     ->   OUT: argv[ 1] = autoexec.bat
                      OUT: argv[ 2] = config.sys
                      OUT: argv[ 3] = io.sys
                      OUT: argv[ 4] = msdos.sys
                      OUT: argv[ 5] = pagefile.sys

       Then the general environment variable `
                                             `LIB'
                                                  ' is expanded:
       $LIB      ->   OUT: argv[ 6] = c:\lib;c:\msvc\lib

       And finally the UDATE utility is called and the result becomes the last
       argument:
       `udate`   ->   OUT: argv[7] = Thu Aug 29 16:00:06 1996









       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 39



       UNIX on DOS Toolkiit (UNXIDOS)
                               Future Plans


       Future Plans

       We am currently working on a user-friendly WINDOWS interface for
       all/most of the UNIXDOS utilities, because it can be quite intimidating
       to remember all those cryptic UNIX command line options.

       The following UNIX utilities are currently NOT part of the current
       UNIXDOS package:
       (maybe in the future they will!)

       UNIX editor (vi)

       Programmer Development utilities (ar, cc, ld, make, lex, size, yacc
       ...)

       Shells (sh, ksh, csh)

       Speller (spell, edspell, eddict)



       Abbreviations

       In the following documentation we will use the following abbreviations:

       STDIN
       Standard input  (keyboard input or redirected file: prog < file)

       STDOUT
       Standard output (the screen) can be used by redirection:
       prog > out

       STDERR
       Standard error output (the screen) is not captured from redirection.





















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 40



       UNIX on DOS Toolkiit (UNXIDOS)
                               Future Plans











                       A                                     C







                                             Compare/merge files, 9
       Additional PUT utilities, 11
       Argument Expansion, 14, 23
       Argument Expansion Test Module
       Abbreviations, 30
        SHOW_EXP, 29



                                                             D



                       B



                                             Differences between DOS and UNIX,
                                              22
                                             Display/search contents of a
                                              file, 7
       Basic UNIX funtions, 10               DOS environment, 5
       Berkeley UNIX functions, 11           DOS/UNIX Name Clash, 5
















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 41



       UNIX on DOS Toolkiit (UNXIDOS)
                               Future Plans







                       E                                     I







                                             Improvements to `
                                                             `Classic UNIX'
                                                                           ',
                                              24






                       F
                                                             L
       Environment Variables, 28






       File links, 22
       File times, 22                        List/find files/directories, 8
       Filename Separator, 22
       Filenames, 22





                                                             M

                       H





                                             Manipulate file contents, 8
                                             Miscellaneous Functions, 9
       Help, 21                              Move/delete/change
                                              files/directories, 7





       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 42



       UNIX on DOS Toolkiit (UNXIDOS)
                               Future Plans

                                             Regular Expression for Text
                                              Search/Replacement, 20

                                              Searches, 19


                       P
                                             Regular Expression for Text




                                                             S


       pipe mechanism, 4
       Pipes, 23
       PUT Argument Expansion
        Extensions, 16
       put.cfg, 18
                                             SHOW_EXP, 29






                       R
                                                             U






       Regular Expression for File
        Matches, 15                          User groups, 22




















       OB. Eichberger, Professional Software Solutions User Manual (Ver 3.0) Page 43
