The NoSQL system comprises a set of programs called Operators.
Each operator is a separate program module that performs a unique function on the data.
At one time NoSQL used to have extra operators, like body, dashline, etc. At some point I realized how useless they were, so I dropped them. After all they were just calls to ordinary UNIX utilities. There was really no point in providing special operators just for them, as their function could be done by applying those system commands directly. For instance:
Same as : tail +3 < table
Same as : sed -n 2p < table
Same as : head -1 < table
Same as : head -1 < table
Same as : head -2 < table
Same as : cat -vte < table
Once again, this shows how powerful the UNIX operating system already is of its own, and how handy it can be for an add-on package like NoSQL to be able to tap into this power without having to re-invent the wheel.
Invoking NoSQL programs and operators is straightforward :
command [options] [arguments]
where command
is the name of the desired NoSQL
operator or utility. Make sure the directory containing the NoSQL
executables, usually /usr/local/nosql/bin/, is in your PATH.
Most operators take a --help
switch, that will show
the list of available command-line options and arguments, plus
some usage notes.
Here follows a list of NoSQL operators, with a short description of the function of each:
Create new empty columns in the rightmost position of a table.
Append a new empty record to a table.
Pick columns by name, output columns in listed order.
Compute an arbitrary expression using column names.
Test for ``functional dependency'' betwen two columns.
Use an editor to allow modifications to a table.
Convert environment variables into a one-record list.
Convert environment variables into a one-record table.
Run standard utilities against a table.
Convert a (possibly binary) file into a one-record list.
Translate selected date columns from Julian to calendar format.
Generate table index files to be used by 'search'.
Check whether an input file has a valid 'list' format.
Check whether an input file has a valid table format.
Natural or "Master/Detail" join of two tables on a common field.
Translate selected date columns from calendar to Julian format.
An alias for prtable.
Take a file in 'list' format and use the values from the last record to replace special tags on a template file.
Take a file in 'list' format and makes it into a table.
Build a valid table header from a template file.
Insert a unique record identifier into a table.
An alias for column.
Quick and easy table formatter for character displays.
pick one or more table records at random.
Rename a column.
Append empty data fields to rows to make them match the table header.
Remove one or more columns.
Select rows based on arbitrary AWK expressions.
Select rows based on a multi-column key of a sorted or indexed table.
An alias for row.
Sort a table by one or more columns.
Compute Knuth's soundex codes for selected columns.
List subtotals of specified columns.
Replace special tags in a template file.
Convert a table into the corresponding 'list' format.
Convert a table into rc(1) variable assignments.
Convert a single-record table into sh(1) variable assignments.
Build a table template file for the input table.
Concatenate multiple union-compatible tables.
Make a table unique on the primary key field.
Insert/update/delete table rows based on the contents of an edit table.
Visualize a table in a nice list-like format.