Grep Simple Command Example, Learn To Filter Results In Linux Terminal
Grep is one of the most used command line utilities in either Linux, Windows or Mac OS. Grep is used for searching a specific text from the command line output, we combine grep with other commands, grep is basically to find and filter the output of the command we executed.
So understanding Grep command is a must for a back end developer or server admin, because it can be very useful for managing our server.
You don’t need to know all the available, only some basic grep options is probably enough to do most of basic terminal operation, usually filtering large results.
Here’s example of a simple grep command in Linux to filter list of files using LS command inside folder /etc:
ls - a | grep -i 'php'
Normally we use LS to list all files, but if inside directory there's too many files, we can use grep to filter the output
LS with grep filter word 'PHP'
But if you want to know more on how you can do advanced filtering using grep, just type grep --help, and then it will give you all the available options to use grep.
Here are the syntax of how you can use Grep command in Linux, grep usage:
So understanding Grep command is a must for a back end developer or server admin, because it can be very useful for managing our server.
You don’t need to know all the available, only some basic grep options is probably enough to do most of basic terminal operation, usually filtering large results.
Here’s example of a simple grep command in Linux to filter list of files using LS command inside folder /etc:
ls - a | grep -i 'php'
Normally we use LS to list all files, but if inside directory there's too many files, we can use grep to filter the output
LS with grep filter word 'PHP'
But if you want to know more on how you can do advanced filtering using grep, just type grep --help, and then it will give you all the available options to use grep.
Here are the syntax of how you can use Grep command in Linux, grep usage:
grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. PATTERN is, by default, a basic regular expression (BRE). Example: grep -i 'hello world' menu.h main.c Regexp selection and interpretation: -E, --extended-regexp PATTERN is an extended regular expression (ERE) -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression (BRE) -P, --perl-regexp PATTERN is a Perl regular expression -e, --regexp=PATTERN use PATTERN for matching -f, --file=FILE obtain PATTERN from FILE -i, --ignore-case ignore case distinctions -w, --word-regexp force PATTERN to match only whole words -x, --line-regexp force PATTERN to match only whole lines -z, --null-data a data line ends in 0 byte, not newline Miscellaneous: -s, --no-messages suppress error messages -v, --invert-match select non-matching lines -V, --version display version information and exit --help display this help text and exit Output control: -m, --max-count=NUM stop after NUM matches -b, --byte-offset print the byte offset with output lines -n, --line-number print line number with output lines --line-buffered flush output on every line -H, --with-filename print the file name for each match -h, --no-filename suppress the file name prefix on output --label=LABEL use LABEL as the standard input file name prefix -o, --only-matching show only the part of a line matching PATTERN -q, --quiet, --silent suppress all normal output --binary-files=TYPE assume that binary files are TYPE; TYPE is 'binary', 'text', or 'without-match' -a, --text equivalent to --binary-files=text -I equivalent to --binary-files=without-match -d, --directories=ACTION how to handle directories; ACTION is 'read', 'recurse', or 'skip' -D, --devices=ACTION how to handle devices, FIFOs and sockets; ACTION is 'read' or 'skip' -r, --recursive like --directories=recurse -R, --dereference-recursive likewise, but follow all symlinks --include=FILE_PATTERN search only files that match FILE_PATTERN --exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN --exclude-from=FILE skip files matching any file pattern from FILE --exclude-dir=PATTERN directories that match PATTERN will be skipped. -L, --files-without-match print only names of FILEs containing no match -l, --files-with-matches print only names of FILEs containing matches -c, --count print only a count of matching lines per FILE -T, --initial-tab make tabs line up (if needed) -Z, --null print 0 byte after FILE name Context control: -B, --before-context=NUM print NUM lines of leading context -A, --after-context=NUM print NUM lines of trailing context -C, --context=NUM print NUM lines of output context -NUM same as --context=NUM --color[=WHEN], --colour[=WHEN] use markers to highlight the matching strings; WHEN is 'always', 'never', or 'auto' -U, --binary do not strip CR characters at EOL (MSDOS/Windows) -u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS/Windows)