cidr转换器使用sed或awk



我有一个文本文件,其中包含cidr格式的IP地址。每条线路一个cidr。如何将cidr转换为IP范围,即启动IP-结束IP。每条线路一个IP范围。请注意-. 两侧的空格

您最好使用ipcalc:

ipcalc 192.168.0.1/24 -nb | awk '/HostMin/{min=$NF} /HostMax/{max=$NF} END {print min" - "max}'
192.168.0.1 - 192.168.0.254

一个简单的脚本循环通过文件:

#!/bin/bash
cat file.txt |
while IFS= read ip; do
    ipcalc "$ip" -nb |
    awk '   /HostMin/{min=$NF} 
            /HostMax/{max=$NF} 
            END {print min" - "max}'
done

最新更新