OnWorks favicon

grepcidr - Online in the Cloud

Run grepcidr in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command grepcidr that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



grepcidr — Filter IPv4 and IPv6 addresses matching CIDR patterns


grepcidr [OPTIONS] PATTERN [FILE...]

grepcidr [OPTIONS] [-e PATTERN | -f PATFILE] [FILE...]


grepcidr can be used to filter a list of IP addresses against one or more Classless Inter-
Domain Routing (CIDR) specifications. As with grep, there are options to invert matching
and load patterns from a file. grepcidr is capable of efficiently processing large
numbers of IPs and networks.


-V Show software version

-c Display count of the matching lines, instead of showing the lines

-i Inverse match, include lines without an IP, implies -v

-s Enforce strict alignment of CIDR mask; host portion must be all zero

-v Invert the sense of matching, output lines with IPs that don't match

-x Strict matching, only look at start of line

-e Specify individual IP or CIDR pattern(s) on command-line

-f Load individual IP or CIDR pattern(s) from file


PATTERN specified on the command line may contain multiple patterns separated by
whitespace or commas. For long lists of network patterns, use -f to load a file where each
line contains one pattern (can be IPv4 or IPv6). Blank lines and comments starting with #
are ignored.

Each IPv4 pattern, whether on command line or loaded from a file, may be:

a.b.c.d/xy (CIDR format)
a.b.c.d-e.f.g.h (IP range)
a.b.c.d (Single IP)

And similarly for IPv6:

a:b:c::/xyz (CIDR format)
a:b:c:: (Single IP)

Dotted-decimal IPv4 format, or any legal IPv6 format is supported (see: man inet_pton).

IP addresses that appear anywhere on the input line will be compared and matched against
the patterns. To be recognized, an IP (field) must end with terminating text. An IPv4
field terminates upon anything other than alphanumeric or dot. An IPv6 field terminates
upon anything other than alphanumeric, dot, or colon. This is to prevent accidental
matching of ambiguous text such as host names containing reverse DNS.

Use the -x option to do a strict parse without searching the whole line, and grepcidr will
only look for the single IP at the start of the line.


grepcidr -f ournetworks blacklist > abuse.log

Find customers (CIDR ranges in file) that appear in blacklist

grepcidr 2001:db8::/32 log.1 log.2

Search for this IPv6 network inside two files

grepcidr iplog

Searches for any localnet IP addresses inside the iplog file

grepcidr "" iplog

Searches for IPs matching indicated range in the iplog file

script | grepcidr -vf whitelist > blacklist

Create a blacklist, with whitelisted networks removed (inverse)

grepcidr -f list1 list2

Cross-reference two lists, outputs IPs common to both lists


As with grep: the exit status is 0 if matching IPs are found, and 1 if not found. If an
error occurred the exit status is 2.

Use grepcidr online using onworks.net services