The K93_Unix project is in the process of moving to SourceForge at the following URL:

The latest version of these scripts is now on sourceforge now and will no longer be maintained here.

Script development policies, guidelines, standards, and procedures are being developed, and as soon as they are stable, those wanting to participate and/or contribute code to this project will be welcome to do so.

The shunix project contains numerous Korn Shell 93 shell scripts that emulate many of the standard unix utilities. These Korn Shell 93 shell scripts are designed to be used as part of a function library or as command line utilities. The purpose of these scripts is to provide the script programmer with the ability to easily incorporate unix command utilities into their shell scripts. This has the added benefit of allowing the shell programmer to easily change the behavior of the utilities.

These scripts represent selected Unix utilities and selected options for each utilities. Additional utilities and options will be periodically added.

You are free to download and evaluate these scripts. If you choose to continue to use these scripts in a commercial environment, you will be required to obtain a license for this purpose. Please contact Mt Xia for licensing details.


awk_k93
Korn Shell 93 emulation of the "awk" capability of extracting and reordering fields from an input stream.
(non-html version)

basename_k93
Extracts only the final filename portion of a fully qualified file name.
(non-html version)
Counterpart: dirname_k93.

cat_k93
Reads from standard input and writes to standard output. Alternatively, it will read from one or more files and write the contents of the files to standard output.
(non-html version)
Counterpart: tac_k93.

cal_k93
Generates a calendar for the current or specified month and/or year. This function is an emulation of the Unix "cal" command and is included as part of the "shunix" project on Sourceforge. To retrieve this function you must download the "shunix" source code from Sourceforge.
(non-html version)

cmp_k93
Compares the contents of two text files and notifies user of any difference.
(non-html version)

colrm_k93
Removes one or more columns from a standard input stream of data. Additionally the Korn Shell implementation of this unix utility, will remove one or more fields.
(non-html version)

column_k93
Arranges a list of items into columns to fit within a specified screen width.
(non-html version)

comm_k93
Identifies common lines between two files.
(non-html version)

cut_k93
Extract characters or fields from one or more files, or from standard input.
(non-html version)

dirname_k93
Extracts the directory portion of a filename from a fully qualified file name.
(non-html version)
Counterpart: basename_k93.

dos2unix_k93
Convert the DOS style end-of-line (<CR><LF>) into a unix style end-of-line (<NL>).
(non-html version)
Counterpart: unix2dos_k93.

expand_k93
Expand tab characters into spaces in one or more files, or from standard input.
(non-html version)
Counterpart: unexpand_k93.

factor_k93
Calculates the prime factors of an integer.
(non-html version)

false_k93
Returns a FALSE value as the return code or optionally to standard output.
(non-html version)
Counterpart: true_k93.

fgrep_k93
Search for fixed patterns in text. Does not support regular expressions, fixed patterns only.
(non-html version)

find_k93
Recursively search directory structures for files and return the list of files. Filename search patterns and file types may be specified.
(non-html version)

fold_k93
Folds the contents of standard input, breaking the lines to a default line width of 80 (eighty) characters. Line width can be specified by a command line option. Can also specify that lines be folded on spaces rather than at a specific length.
(non-html version)

grep_k93
Korn shell script function that searches files or standard input for specified regular expression patterns. This function is an emulation of the Unix "grep/egrep" commands and is included as part of the "shunix" project on Sourceforge. To retrieve this function you must download the "shunix" source code from Sourceforge.
(non-html version)

head_k93
The head_k93 command writes to standard output a specified number of lines or bytes of each of the specified files, or of the standard input. If no flag is specified with the head command, the first 10 lines are displayed by default.
(non-html version)
Counterpart: tail_k93.

id_k93
The id_k93 function writes to standard output a message containing the system identifications (ID) for a specified user.
(non-html version)

ls_k93
The ls_k93 function displays a list of files from the current directory or from a list supplied on the command line.
(non-html version)

mktemp_k93
The mktemp_k93 Korn Shell command/function generates a random temporary file and returns the name of the generated file to standard output.
(non-html version)

pwd_k93
Returns the full path file name to the current working directory.
(non-html version)

regexp_k93
Korn shell script function that converts and translates regular expressions into Korn shell patterns. This function is included as part of the "shunix" project on Sourceforge. To retrieve this function you must download the "shunix" source code from Sourceforge.
(non-html version)

sortarray_k93:
Sorts a Korn Shell indexed array of values by a variety of mechanisms:
  • Lexical - Alphabetic sort order
  • Numeric - Sorts by decimal digits or floating point numbers
  • Reverse - Changes sort order to decending

(non-html version)

tac_k93
Same as "cat" only it prints the lines in reverse order.
(non-html version)
Counterpart: cat_k93.

tail_k93
The tail_k93 command extracts a number of lines or bytes from the end of the file specified by the File parameter to standard output. If no file is specified, standard input is used.
(non-html version)
Counterpart: head_k93.

tee_k93
Displays the output of a program and copies it into a file.
(non-html version)

transpose_k93
Transposes one or more columns of data into rows. Allows the user to specify insets and offsets within the dataset to select portions of data to transpose. Also allows the use to specify field delimeter.
(non-html version)

true_k93
Returns a TRUE value as the return code or optionally to standard output.
(non-html version)
Counterpart: false_k93.

unexpand_k93
The unexpand_k93 function puts tabs back into the data from the standard input or the named files and writes the result to standard output.
(non-html version)
Counterpart: expand_k93.

uniq_k93
Removes duplicate lines from a stream of data.
(non-html version)

unix2dos_k93
Convert the Unix style end-of-line (<NL>) into a DOS style end-of-line (<CR><LF>).
(non-html version)
Counterpart: dos2unix_k93.
watch_k93
The watch_k93 Korn Shell command/function runs a user specified "command" repeatedly, displaying its output (the first screen full).
(non-html version)
wc_k93
Counts lines, words, and/or characters from a standard input stream or list of files.
(non-html version)
which_k93
The which_k93 Korn Shell command/function takes a list of program names and looks for the files that run when these names are given as commands.
(non-html version)
xargs_k93
Reads items from the standard input, delimited by blanks or newlines, and executes the command (default is "print") one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.
(non-html version)
yes_k93
Outputs an affirmative response, or a command line argument, repetitively.
(non-html version)