Introduction¶
Em is a terminal tool that prints FILE(s), or standard input to standard output and highlights the expressions that are matched the PATTERN.
The expression will be highlighted iff the terminal is ANSI-compatible. This criterion is met by most popular terminal emulators on Linux, Unix and MacOS.
Installation¶
Em is a small script written in Python without any further dependencies but things that are shipped with Python 2.7, Python 3.2 or above. Quick installation:
$ [sudo] pip install em
Note
For some reason the Python 2.6 support has been added, but
argparse
is required and will be installed from PyPI.
Quickstart¶
Em is cool and easy to use. The most practical usecase for me:
$ tail -f /path/to/log | em "ERROR" | em "iphone:" -f green
The example above highlights all occurrences of «ERROR» in red and all occurrences of «iphone:» in green when watching the log.
But you can use em in the following way:
$ em "ERROR|CRITICAL" /path/to/log
which prints the log and highlights all occurrences of «ERROR» or «CRITICAL» in red.
Options¶
Here is a command line interface of Em:
usage: em [OPTION]... PATTERN [FILE]...
Em is a terminal tool that prints FILE(s), or standard input to standard
output and highlights the expressions that are matched the PATTERN.
positional arguments:
PATTERN a pattern to highlight
FILE search for pattern in these file(s)
optional arguments:
-f FORMAT, --format FORMAT
a color to highlight matched expressions
-i, --ignore-case ignore case distinctions
-l, --line-mode highlight entire line
-v, --version show program's version number and exit
-h, --help show this help message and exit
With no FILE, or when FILE is -, read standard input. The FORMAT option may be
one of: BOLD, UNDERLINE, [ON]GREY, [ON]RED, [ON]GREEN, [ON]YELLOW, [ON]BLUE,
[ON]MAGENTA, [ON]CYAN or [ON]WHITE. Default is RED.
The CLI is clear, but some option descriptions are below:
--format |
Highlight matched PATTERN with that color. (default: RED) |
--ignore-case |
Case insensitive search for the PATTERN. |
--line-mode |
Highlights the entire line if PATTERN was found in the line. |
Contribute¶
Found a bug? Have a good idea for improving Em? Go to em’s github page and create a new issue or fork. Also, if you like what I’m doing I would appreciate some support through gittip.