packages icon



 GROK(1L)                                                           GROK(1L)




 NAME
      grok - Desktop Database Manager and GUI Builder

 SYNOPSIS
      grok [-h] [-d] [-v] [-t] [-T] [-f] [form query]]

 DESCRIPTION
      grok is a database manager that displays two-dimensional databases
      using a card file paradigm. A GUI builder is available to create
      user-defined applications. Grok comes with a number of pre-built
      applications such as a phone directory, todo lists, and a sample
      country database. The form to display (phone, todo, countries, etc.)
      can be given as the first parameter. This manual page describes the
      command line options of grok.  For information on how to use grok,
      refer to the on-line help pages, and to the PostScript or TeX manual.

    OPTIONS
      -h   List available options.

      -d   Print fallback X resources and exit. The output can be appended
           directly to the ~/.Xdefaults file for modification of the
           geometry, color, and font defaults.

      -v   Print the program version and patchlevel and exit.

      -t   Requires specification of a form. Without a query string, prints
           all cards to stdout in the same format that is used for the
           summary window in interactive mode. If a query is also specified,
           print only cards that satisfy the query expression (see below).
           The form may have a default query built in.

      -T   This option is equivalent to -t, but omits the header line.

      -f   Don't fork on startup. This is useful for debugging.

      form Specifies the database to display.  Grok distinguishes forms and
           databases. Both always come in pairs. The form defines the
           representation of the cards and the database provides the raw
           data. If no form is specified, one can be chosen in interactive
           mode. The -t and -T options require a form argument.

      query
           If the form has a built-in query, it is used to select which
           cards in the database to display initially. If there is no
           default query, all cards are displayed. The query argument can be
           used to override the default query.  This option should always be
           quoted with single quotes to keep the shell from interpreting the
           query string.  There are different types of queries: '*' selects
           all cards, '/string' performs a case-insensitive string search,
           '{expr}' selects all cards for which the string expression
           returns a non-null, non-'f' string, and '(expr)' selects all



                                    - 1 -           Formatted:  June 9, 2026






 GROK(1L)                                                           GROK(1L)




           cards for which the numerical expression returns nonzero. The
           leading '/' in string searches is optional. For a detailed
           description of query expressions, refer to the "Expression
           Grammar" item in the help pulldown, or to the PostScript user's
           manual.  In addition to these options, grok supports the usual X
           options such as -iconic. The -geometry option should not be used
           to preset a window size; grok determines and frequently adjusts
           its own size.

 EXAMPLES
      grok Start up grok with no form. The Database pulldown can be used to
      choose one.  grok phone Start up grok with the phone form. Perform
      that form's default query if it has one.  grok phone '/thomas' Start
      up grok with the phone form. Ignore the default query and select only
      cards that contain the word "thomas". Case is ignored.  grok -t phone
      '/thomas' Print all cards of the form phone to stdout that contain the
      string "thomas". Do not start the interactive user interface.  grok
      phone '{_group == "f" && _email}' Start up grok with the phone form.
      Ignore the default query and select only cards that describe friends
      that have an email address.

 FILES
      Below, GBIN and GLIB refer to the installation directories specified
      at the beginning of the Imakefile when the programs were compiled.
      They are /usr/local/bin and /usr/local/lib, respectively, by default.

      *.gf              Files ending with the extension .gf are assumed to
                        contain grok forms.

      *.db              Unless the form specifies otherwise, the database
                        that provides the raw data for a form has the same
                        path and name as the form, but with the extension
                        .db. Procedural databases have no extension.

      .                 The current directory is searched first for form
                        files.

      ./grokdir         The grokdir current directory is searched next for
                        form files. This is done to allow grok to be started
                        from the source distribution directory for
                        evaluation.

      ~/.grok           By default, all forms and databases are stored here.
                        By convention, all private forms and databases are
                        stored here. This directory is searched after . and
                        ./grokdir.

      GLIB/grokdir      This directory is searched last. It is supposed to
                        contain forms visible to all users of a system. Only
                        one user should have write permission.




                                    - 2 -           Formatted:  June 9, 2026






 GROK(1L)                                                           GROK(1L)




      ~/.grok/.grokrc   Preferences and the current configuration of grok.

      GBIN/grok         The grok executable. This should be in the user's
                        search path. Form files are set up so they can be
                        "executed" by feeding themselves to grok, as long as
                        grok is in the search path $PATH.

      GLIB/grok.hlp     All help texts used by the grok help system.


 EXAMPLE DATABASE FORMS
      To view the example forms (on the Liverpool Archive/Binary
      Distribution) you need to set up a variable in the environment:

      export GROK_FORM=/opt/hppd/lib/X11/xgrok

      For more info on customising xgrok see the on-line help files.

    AUTHOR
      Thomas Driemeyer <thomas@bitrot.in-berlin.de> Please send all
      complaints, comments, bug fixes, and porting experiences to me. Always
      include your grok version as reported by "grok -v" in your mail. New
      forms for inclusion in the distribution are welcome. Make sure that
      your email address is in the form's comment field, and that there is
      some help information attached to the form with the Def Help function.





























                                    - 3 -           Formatted:  June 9, 2026