Eu tenho um arquivo de entrada com endereços IPv4:
94.228.16.0 - 94.228.25.255
94.241.136.0/24
94.241.136.0 - 94.241.136.255
94.29.128.0/17
94.29.128.0 - 94.29.191.0
94.29.192.0 - 94.29.255.0
94.74.181.0/24
94.74.181.0 - 94.74.181.31
94.74.181.128 - 94.74.181.255
Como posso converter os intervalos de endereços em máscaras de rede? O resultado deve ser:
94.228.16.0/21
94.241.136.0/24
94.241.136.0/24
94.29.128.0/17
94.29.128.0/19
94.29.192.0/19
94.74.181.0/24
94.74.181.0/27
94.74.181.128/25
3
Vários dos resultados solicitados estão incorretos, portanto, nenhum script bash válido os produzirá. Por exemplo, o primeiro intervalo não é expressável usando uma máscara de rede: 94.228.16.0/21 fornece 94.228.16.0 - 94.228.23.255 e o próximo mais amplo 94.228.16.0/20 fornece 94.228.16.0 - 94.228.31.255. Além disso, os intervalos que terminam em .0 não podem ser produzidos por nenhuma máscara de rede.
—
Zwets
@ Zanna, você está trapaceando, perguntou o pôster usando o bash . Meu bash não tem
—
zwets 31/01
ipcalcbuiltin. ;-)
ah ah @zwets eu descobri isso! Mas você está certo, o shell precisa de muita ajuda hahaha
—
Zanna