12 08 | 2013

grep --only-matching

Written by Tanguy

Classified in : Homepage, Debian, Command line, To remember

Magnifying glass over a sheet of text

grep is designed to print lines matching a given pattern, but I often need to print only the matching part, discarding the remaining.

I used to do that with sed, but it involves several actions: match, replace the line by only the matching pattern and print. Fortunately, GNU grep has an option to do just that:

-o, --only-matching
Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.

Unfortunately it is not a standard option, so it may be missing on non-GNU systems.

Archives