Skip to content
Costa Tsaousis edited this page Apr 4, 2026 · 1 revision

Count Unique

Print entry counts and unique IP counts as CSV.

Two counting modes are available:

Count merged (--count-unique / -C)

Merge all inputs and print a single CSV line with the totals:

# list-a.txt          # list-b.txt
10.0.0.0/24           10.0.0.128/25
10.0.1.0/24           10.0.2.0/24
192.168.1.0/24        192.168.1.0/24
$ iprange -C --header list-a.txt list-b.txt
entries,unique_ips
2,1024

The merged set has 2 entries (ranges) covering 1024 unique IPs.

Count per file (--count-unique-all)

Print one CSV line per input file without merging:

$ iprange --count-unique-all --header list-a.txt list-b.txt list-c.txt
name,entries,unique_ips
list-a.txt,2,768
list-b.txt,3,640
list-c.txt,2,1114112

Naming files in CSV output

Use as NAME to customize the name column:

$ iprange --count-unique-all --header list-a.txt as "Blocklist A" list-b.txt as "Blocklist B"
name,entries,unique_ips
Blocklist A,2,768
Blocklist B,3,640

IPv6

$ printf '2001:db8::/32\n' | iprange -6 -C --header
entries,unique_ips
1,79228162514264337593543950336

IPv6 unique IP counts are printed as full 128-bit decimal numbers.

CSV header

Add --header to include column names. Without it, only data lines are printed.

Clone this wiki locally