# T ext T ools R elease 4

#### of 11-May-97. Copyright (c) 1996-97 by Rune Berg. All rights reserved.

Introduction .. Terms .. Tools Summary .. Package Contents .. Changes .. Important Notes .. Feedback

### INTRODUCTION

TextTools is a collection of ASCII text filters and other goodies. Many of the programs process text-format tables, and offer powerful and unique functionality.

All TextTools programs run from the command line, or from batch files.

DOS and Win32 console mode versions are included.

### TERMS

All TextTools programs and documentation are Copyright (c) 1996-97 by Rune Berg. All rights reserved.

TextTools Release 4 is Freeware. It may be freely distributed and used for non-commercial purposes only. It may be included on Shareware/Freeware/PD CD-ROM collections, though. It must not be modified in any way, and must be distributed in its entirety.

Please note that future TextTools releases may well be Shareware. (This will not affect older releases' status as Freeware.)

Disclaimer: Rune Berg disclaims all warranties as to this software and its documentation, whether express or implied, including without limitation any implied warranties of merchantability, fitness for a particular purpose, functionality or data integrity or protection.

### TOOLS SUMMARY

Table-oriented programs
tcols | project and transform table columns
trows | select table rows that fulfill given conditions
tsort | sort table on result of projection/transform
tuniq | print rows that evaluate uniquely on tcols-style expressions
tand | print rows present in two tables
tjoin | database-style join of two tables

Programs for copying part of files
first | copy first n lines of file
last | copy last n lines of file
lines | copy specifically numbered lines of file
middle | copy middle part of file

Other text filters
eol | convert between DOS and UNIX end-of-line styles
xtabs | expand tabs to spaces
itabs | insert tabs in place of spaces

Miscellaneous
lsx | list directory contents grouped on file basename
sum | sum up integers in file
acho | echo with ANSI codes for colour etc.
closure | compute closure of graph of text nodes
create | create empty files
dump | dump file contents in hex/decimal/octal
numl | number lines in text file

### PACKAGE CONTENTS

The readme.txt file tells you to start with doc_html/tt_r4.htm (this file).

The doc_html directory contains documentation for the TextTools programs.

The exe_dos directory contains the DOS executables.

The exe_w32 directory contains the Win32 console mode executables.

### CHANGES

General: All TextTools are now also available as Win32 console mode executables.
These run in the Windows 95 / NT dos-box, and (where relevant) offer greater
capacity than the DOS executables.

Program | Current version | Changes since Release 3
--- | --- | ---
acho | 1.10 | (none)
closure | 1.20 | Increased capacity: DOS exec. now handles 1000 string nodes and 4000 edges. Win32 exec. handles 5000 / 20000 ditto. New option -r: shows internal table statistics.
create | 1.20 | (none)
dump | 1.20 | (none)
eol | 1.10 | (none)
first | 1.10 | (none)
itabs | 1.10 | (none)
last | 1.11 | Bug-fix: did not work properly when input taken from pipe or interactively. Greater capacity.
lines | 1.10 | (none)
lsx | 1.30 | New options -l and -u: show file names in lower/upper case. Increased capacity: now handles up to 1000 files.
numl | 1.00 | (none)
middle | 1.11 | Bug-fix: did not work properly when input taken from pipe or interactively. Greater capacity.
sum | 1.10 | (none)
tand | 1.20 | Removed -c and -r options; max. columns now 100, while max. rows is limited only by available memory. Rows printed now taken from 2nd input file. No longer prints duplicate rows.
tjoin | 1.20 | Removed -c and -r options; max. columns now 100, while max. rows is limited only by available memory.
tcols | 1.31 | Some internal changes. Bug-fix: expr. "" gave assert-error.
trows | 1.31 | Some internal changes. Bug-fix: cond. "" gave assert-error.
tsort | 1.40 | Uses faster sorting algorithm. New option -d: sort on descending values. Win32 version: capacity now only only limited by available memory. Bug-fix: expr. "" gave assert-error.
tuniq | 1.40 | Same as tsort 1.40, except -d option.
xtabs | 1.10 | (none)

### IMPORTANT NOTES

Though well tested, expect some bugs.

The DOS executables run in real-mode, and don't use expanded or extended memory. Thus, some of the programs have limited capacity. If you're running Windows 95 or NT, use the Win32 console mode executables for greater capacity.

Due to (what I believe is) an NT pipe bug, I've made the Win32 console mode executables treat broken pipes as normal end-of-file situations when running on NT (only). This does not affect the DOS versions, or the Win32 console mode executables when running on Windows 95.

All included executables are debug builds, i.e. they're compiled with asserts etc., to help in catching bugs. This means they run a little slower than they really could.

### FEEDBACK

Ok, hope you find these programs useful. Any feedback is much appreciated.

E-mail to:

runeberg@online.no

Snail-mail to:

Rune Berg
Steinspranget 44
1156 Oslo
Norway

Cheers,
- Rune

##### End of document