Scol is a simple command-line program that reads lines from standard input and colorizes them based on a regular expression pattern. The program supports setting both foreground and background colors for the matched text, using command-line arguments.
To install the program, you'll need Rust and Cargo installed on your system. Then, run the following command:
cargo install scol
The program's basic usage is:
scol <PATTERN> [--fg <COLOR>] [--bg <COLOR>] [--ignore-case]
where <PATTERN>
is a regular expression pattern that will be used to match lines, --fg <COLOR>
sets the foreground color of the matched text (using one of the available colors: black, red, green, yellow, blue, cyan, white, magenta), --bg <COLOR>
sets the background color of the matched text, and --ignore-case
makes the pattern match case-insensitively.
At least one of --fg
or --bg
must be specified, but not both. If only one of them is specified, the other color will be left unchanged.
Here's an example command that colorizes all lines containing the word "error" in red text on a yellow background:
tail -f /var/log/syslog | scol error --fg red --bg yellow
Suppose you have a log file that contains lines like this:
[2022-05-06 10:23:45] INFO: Connected to database
[2022-05-06 10:24:13] WARNING: Disk space running low
[2022-05-06 10:25:01] ERROR: Database connection lost
[2022-05-06 10:26:19] INFO: System shutting down
You can use Scol to highlight lines containing the word "error" in red text on a yellow background, and lines containing the word "warning" in yellow text on a red background, using the following commands:
cat logfile.txt | scol error --fg red --bg yellow | scol warning --fg yellow --bg red
The output would be:
[2022-05-06 10:23:45] INFO: Connected to database
[2022-05-06 10:24:13] WARNING: Disk space running low
[2022-05-06 10:25:01] ERROR: Database connection lost
[2022-05-06 10:26:19] INFO: System shutting down
where the "warning" line is highlighted in yellow on a red background, and the "error" line is highlighted in red on a yellow background.
This program is distributed under the MIT license. See the LICENSE
file for details.