SPC(1)

NAME
spc - colorize and print to standard output

SYNOPSIS
spc [OPTION] [FILE]...
    [-c file|-C directory]
    [-t type]
    [-e color|(RE)]
    [-E color,attribute,count,type|(RE)]

DESCRIPTION

Colorize specific patterns in the input and write to standard output. The output may optionally be formatted as a web page.

-c  | --config=FILE
    specify non-standard config file

-C  | --config-dir=DIR
    specify non-standard config file directory

-d  | --debug
    turn on debug information (multi-level -d -d ...)

-e  | --cmd-s
    short-form command-line color instruction

-E  | --cmd-l
    long-form command-line color instruction

-h  | --help
    display this help and exit

-m  | --matching
    print only lines that have matches

-n  | --line-numbers
    precede each line with a line number

-r  | --reverse
    reverse black and white

-R  | --nohomedir
    dont look in ~/.spcrc for config files

-S  | --printsysdir
    print SYSTEM_DIRECTORY and exit

-t  | --type=TYPE
    specify the effective file type or extension

-v  | --version
    output version information and exit

-w  | --webpage
    generate web page

With no FILE read standard input.

CONFIGURATION FILE SEARCH
Configuration files are required for proper operation. These files are found by searching in a number of locations until a proper one is found. The directories and file names are searched in the following order for a file with the extension ".foo" or if the "-t foo" option is used. Also, if the "-C bar" option is used it's place in the search is shown.

        ./.spcrc-foo

        ./.spcrc

        ~/.spcrc/spcrc-foo

        ~/.spcrc/spcrc

        bar/spcrc-foo

        bar/spcrc

        SYSTEM_DIRECTORY/spcrc-foo

        SYSTEM_DIRECTORY/spcrc

The file extension is obtained by using the characters after the final '.' character in the file name. If there is no extension then the filename itself is used. However, if the extension is "log" then additional processing is done. The filename, i.e. the part of the path after the last '/' character, is used up to the first '.' character. For example, this results in an extension of "apache" for an apache log with the name "apache.0.log". This behavior can be over-ridden using the -t option.

CONFIGURATION FILE FORMAT
SuperCat configuration files have a fixed columnar format for readability and easy parsing. There are 6 fields per line although only 2-3 require entries. The format is:

         1         2         3         4         5
1234567890123456789012345678901234567890123456789012345
HTML Color Name      Col A N T RE / String / Characters
#################### ### # # # ########################

HTML Color Name (columns 1-20)
    This optional field specifies the standard HTML color name to
    use when creating a web page.  It is only required if the -w
    option of Supercat is used.

Col - Color (columns 22-24)
    This is the mandatory three character color name which may take
    on one of the values: blk, red, grn, yel, blu, mag, cya or whi.

A - Color Attribute (column 26)
    This is a color attribute which may take on one of the following
    values: '-':normal, 'b':bold, 'u':underline,

N - Number of matches to color (column 28)
    This is a single digit number that indicates the number of
    matches to color on a single line. '0' indicates all.
    A space ' ' defaults to '0':all.

T - Type of Match (column 30)
    This is a single character which may take on the following
    values:

    r : regular expression
    R : regular expression (case-insensitive)
    s : string
    c : characters
    t : unix time conversion RE (MMDDHHMMSS)
    T : unix time conversion RE (YYMMDDHHMM)
    u : unix time conversion RE (  HH:MM:SS)
    U : unix time conversion RE (YYYY:MM:DD)

    A space ' ' defaults to 'r':RE.

    An extended regular expression (see regex(7)) specifies the
    pattern to match and the pattern or sub-pattern(s) to color.
    The portions of the pattern in parentheses are colored.

    The string matches the exact string and colors it.

    For the list of characters, each character is matched
    individually and colored.

    The time RE extended regular expression specifies a pattern to match
    with one sub-pattern to color of the form ([0-9]{10}).  This
    should match a 10 decimal digit Unix seconds since 01/01/1970.  This
    number will be converted to the human readable form: MMDDHHMMSS
    or YYMMDDHHMM replacing the same 10 columns.

RE / String / Characters - Attribute (columns 32-)

COMMAND LINE EXAMPLES

spc spc.c
    Colorize file spc.c.

cat spc.c | spc -t c
    Read standard input formatting type C file to standard output.

CONFIGURATION FILE EXAMPLES
Take a look at some of the configuration files delivered with SuperCat that can be found in the SYSTEM_DIRECTORY. The following are a few simple examples of the syntax of the configuration file.

Magenta              mag - 0 r ([0-9]{2}):([0-9]{2}):([0-9]{2})
    Color a time field HH:MM:SS but not the colons.

Cyan                 cya     t ^([0-9]{10})
    Match a 10 decimal digit number at the beginning of a line treating it as a Unix seconds since epoch and convert it to MMDDHHMMSS in cyan.

Cyan                 cya   1 t ([0-9]{10})
    Similar to above but using numeric count.

Yellow               yel       "(.*)"
    Color quoted string in yellow.

AUTHORS
Written by Mark P Anderson and Thomas G Anderson. Tested by David B Anderson. Maintained by Thomas G Anderson.

REPORTING BUGS
Report bugs to <bug-spc@nosredna.net>.

COPYRIGHT
Copyright © 2007-2015 Thomas G Anderson
This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.