Path: utzoo!mnetor!tmsoft!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!rpi!crdgw1!uunet!mcsun!hp4nl!alchemy!henkp From: henkp@cs.ruu.nl (Henk P. Penning) Newsgroups: comp.databases Subject: Re: Simple file manager/database for Unix? Message-ID: <1991Mar25.204647.11206@cs.ruu.nl> Date: 25 Mar 91 20:46:47 GMT References: <1991Mar22.225424.3701@intek01.uucp> <1630@TALOS.UUCP> Organization: Utrecht University, Dept. of Computer Science Lines: 81 In <1630@TALOS.UUCP> jerry@TALOS.UUCP (Jerry Gitomer) writes: >mark@intek01.uucp (Mark McWiggins) writes: > >|Can somebody recommend a PD database or file manager for Unix? I just >|need something simple to store my mailing list (etc.). I'm currently >|using PC FILE under DOS, so anything of that class would be fine; no >|relationality is necessary. > > A quick (and inexpensive) solution is to purchase Russell Sage's > book, Tricks of the UNIX Masters, and use the shell script he has > for storing, retrieving, and displaying phone numbers. It is even cheaper and probably less work to install perl, jinx and cterm. Below is the blorp (sp?) I posted on comp.lang.perl. === HenkP === Henk P. Penning, Dept of Computer Science, Utrecht University. Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. Telephone: +31-30-534106 e-mail : henkp@cs.ruu.nl (uucp to hp4nl!ruuinf!henkp) I have put together a system for manipulating simple databases. It is called 'jinx'. I wrote it for the secretaries at our department. Jinx is easy to use but has powerful relational facilities as well. Jinx is an interactive, menu-driven program which handles databases consisting of lists of records, each a list of fields. In a given database, every record contains the same number of fields. In short, a database is structured like the /etc/passwd file. For each field a regexp may be specified which is used as a constraint on the data which may be entered in the field. Users may override this constraint. There is no limit on the number of records in a database, or the number of fields in a record, or the length of a field. A field may contain arbitrary ascii-printable data. Jinx uses curses so it runs on any terminal or window of any size. Jinx doesn't require a 'special' perl, plain PL.18+ will do. With Jinx you can perform operations on a database like: -- update, add, copy and delete records -- test if all fields in all records match their associated regexp -- select/delete a subset of the records by various means -- put back some of the deleted records -- sort the database on one or more key-fields -- project on one or more columns -- join with another database -- add a column to the database (that is: add a field to every record) -- insert some records from another database -- test if some given combination of fields is uniq for all records -- compute fields as a function of other fields in the record A database is represented by two files, both of them ordinary, editable files. A simple report generator is provided. Some of the main functions are available as shell-callable perl scripts. Jinx requires the 'cterm' package I posted earlier. Jinx and cterm are available from our archive server archive.cs.ruu.nl (131.211.80.5). If you have ftp, get 'cterm.shar.Z' and 'jinx.shar.Z' from directory 'pub/UNIX'. If not, send a message to 'mail-server@cs.ruu.nl' containing the next 4 lines: begin send UNIX/cterm.shar send UNIX/jinx.shar end The mail-server will send you the compressed, uuencoded stuff. Jinx+tools+man+doc is about 4500 lines, (compressed 60 KB). A jinx tutorial (in LaTeX) is included in the package. A PostScript version is available in 'UNIX/jinx.ps' in our archive. Please, try out Jinx and let me know what you think. === HenkP === PS. Jinx is distributed under the terms of the Gnu General Public Licence. -- Henk P. Penning, Dept of Computer Science, Utrecht University. Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands. Telephone: +31-30-534106 e-mail : henkp@cs.ruu.nl (uucp to hp4nl!ruuinf!henkp)