» Make grep CLI App in Go » 1. Introduction » 1.2 Objectives

Project Objectives

This project aims to implement a grep-like CLI app in Go, named lr_gorep1.

It should be used like this:

gorep [-cinrv] [pattern] [file ...]

The following options should be available:

-c, --count
    Only a count of selected lines is written to standard output.

-h  Print a brief help message.

-i, --ignore-case
    Perform case insensitive matching.  By default, it is case sensitive.

-n, --line-number
    Each output line is preceded by its relative line number in the file, starting at line 1. 
    The line number counter is reset for each file processed.  This option is ignored if -c is specified.

-r, --recursive
    Recursively search subdirectories listed.

-v, --invert-match
    Selected lines are those not matching any of the specified patterns.


  1. lr_ is the prefix from LiteRank, and gorep means go + grep.