collection of small unix CLI tools
Find a file
2023-07-22 00:41:55 -04:00
src/bin Combine domnet and sorta under evenmoreutils 2023-07-21 18:50:10 -04:00
.gitignore ignore nix build result 2023-07-21 23:55:21 -04:00
Cargo.lock Combine domnet and sorta under evenmoreutils 2023-07-21 18:50:10 -04:00
Cargo.toml Combine domnet and sorta under evenmoreutils 2023-07-21 18:50:10 -04:00
flake.lock nix flake 2023-07-21 23:55:01 -04:00
flake.nix nix flake 2023-07-21 23:55:01 -04:00
LICENSE add README and LICENSE 2023-07-22 00:41:55 -04:00
README.md add README and LICENSE 2023-07-22 00:41:55 -04:00

evenmoreutils

a collection of small unix CLI tools, similar to moreutils

domnet

domnet is a bare-bones tool for calculating the inverse of a collection of IP subnets, which may be useful if you're doing weird routing nonsense.

examples

$ domnet 192.168.1.0/24
0.0.0.0/1
128.0.0.0/2
192.0.0.0/9
192.128.0.0/11
192.160.0.0/13
192.168.0.0/24
192.168.2.0/23
192.168.4.0/22
192.168.8.0/21
192.168.16.0/20
192.168.32.0/19
192.168.64.0/18
192.168.128.0/17
192.169.0.0/16
192.170.0.0/15
192.172.0.0/14
192.176.0.0/12
192.192.0.0/10
193.0.0.0/8
194.0.0.0/7
196.0.0.0/6
200.0.0.0/5
208.0.0.0/4
224.0.0.0/3

$ domnet fd00:0123:abcd::/48 2001:7f8::/29
::/3
2000::/16
2001::/22
2001:400::/23
2001:600::/24
2001:700::/25
2001:780::/26
2001:7c0::/27
2001:7e0::/28
2001:7f0::/29
2001:800::/21
2001:1000::/20
2001:2000::/19
2001:4000::/18
2001:8000::/17
2002::/15
2004::/14
2008::/13
2010::/12
2020::/11
2040::/10
2080::/9
2100::/8
2200::/7
2400::/6
2800::/5
3000::/4
4000::/2
8000::/2
c000::/3
e000::/4
f000::/5
f800::/6
fc00::/8
fd00::/24
fd00:100::/27
fd00:120::/31
fd00:122::/32
fd00:123::/33
fd00:123:8000::/35
fd00:123:a000::/37
fd00:123:a800::/39
fd00:123:aa00::/40
fd00:123:ab00::/41
fd00:123:ab80::/42
fd00:123:abc0::/45
fd00:123:abc8::/46
fd00:123:abcc::/48
fd00:123:abce::/47
fd00:123:abd0::/44
fd00:123:abe0::/43
fd00:123:ac00::/38
fd00:123:b000::/36
fd00:123:c000::/34
fd00:124::/30
fd00:128::/29
fd00:130::/28
fd00:140::/26
fd00:180::/25
fd00:200::/23
fd00:400::/22
fd00:800::/21
fd00:1000::/20
fd00:2000::/19
fd00:4000::/18
fd00:8000::/17
fd01::/16
fd02::/15
fd04::/14
fd08::/13
fd10::/12
fd20::/11
fd40::/10
fd80::/9
fe00::/7

sorta

sorta is a tool that finds the "interesting" part of each line of its input, sorts the lines based on those parts, and highlights that part of each line in its output. "interesting" is defined in a somewhat arbitrary way and isn't currently customizable. mostly, it ignores (runs of) [parenthesized text] at the start and end of a line.