A micro lightweight implementation of grep
, written in Rust.
It's mainly for my journey to learn Rust programming language and its fascinated ecosystem, but feel free to use it. 😄
❯ perg --help
perg x.x.x
Vinh Nguyen <>
perg is a small command-line tool to search for given string inside a file
USAGE:
perg [FLAGS] <PATTERN> <FILE>
FLAGS:
-h, --help Prints help information
-i, --ignore-case Perform case insensitive matching. Default is case sensitive.
-V, --version Prints version information
ARGS:
<PATTERN> pattern to search, can use regular expression
<FILE> path to file
a test.md
is included in this repo:
$ cat test.md
hello world hi world bye world end of file Title
to try out perg
on the included test.md
file:
$ perg h test.md
# hello world
# hi world
perg
also support regular expression search, like grep
:
$ perg "h[ei]" test.md
# hello world
# hi world
$ perg "hello|bye" test.md
# hello world
# bye world
$ perg "^(be)" test.md
# bye world
# end of file
case insensitive search:
$ perg -i I test.md
# hi world
# end of file
Using Cargo via rustup
:
$ curl https://sh.rustup.rs -sSf | sh
then install perg
binary:
$ cargo install perg
NOTE: if you see error "cargo command not found", it is because cargo
executable is not yet added to your .bashrc/.zshrc yet. To mitigate this, just restart your Terminal/iTerm and it run cargo install perg
again, should it fine.
As of now, Rust is one the most favorited programming according to StackOverflow. 🎁
Feel free to contact me on Twitter for discussions, news & announcements & other projects. 🚀
Glad you asked, perg
is just the reversed of grep
.