Resposta Short'ish (sem SED)
Desculpe, mas isso é o melhor que eu poderia fazer em um de uma linha. Obviamente, não é SED.
perl -MNetAddr::IP -i.bak -nle '$re=NetAddr::IP->new("85.159.56.0/24")->re(); if(/$re/){ print $_ . " --- APIv2 SYSTEMS"}else{print}' yourfile.txt
O que faz
Isso levará a sub-rede "85.159.56.0/24" e a transformará em uma expressão regular. Em seguida, teste cada linha para essa expressão, se houver uma correspondência, ela adicionará "--- APIv2 SYSTEMS" ao final da sub-rede linha.
- "- Mmodule" carrega um módulo antes de executar o código.
- "- i.bak" significa que modificará o arquivo (yourfile.txt) no local e fará um backup como seu arquivo.txt.bak
- "- n" faz com que o Perl faça um loop em torno do seu programa, o que faz com que seja iterado sobre os argumentos do nome do arquivo como sed -n ou awk
- "- s" permite definir argumentos fora do programa
- e "- -variable = X" é como definimos.
- "- l" é porque sou preguiçoso, limpa a linha de entrada e acrescenta um retorno de carro a qualquer saída
- finalmente "-e 'print" Eu sou um one-liner "' é o bit que contém o código
Apenas o REGEX
Se você quer apenas o regex (usado em grep ou sed / awk etc):
perl -MNetAddr::IP -lse 'print NetAddr::IP->new($range)->re()' -- -range=85.159.56.0/24
O que gera o seguinte se você estiver curioso:
(?:(?<![0-9])85\.159\.(?:56)\.(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(?![0-9]))
Pré-requisito
Vale a pena notar que você pode precisar instalar o módulo NetAddr :: IP do cpan (eu uso o cpanm porque não tenho memória suficiente mas a sintaxe é a mesma:
sudo cpanm install NetAddr::IP
Comentário de encerramento
SED e AWK são ferramentas fantásticas, eu realmente tenho um par de livros sobre eles e tento usá-los quando necessário, no entanto Perl geralmente tem suas costas com sua gama de módulos e toda a coisa de uma linha. Tenho certeza que o Python também tem esse tipo de ferramenta, mas sou fã do Perl.
Também posso recomendar apenas o link que uso com frequência para descobrir o que alguém me pediu para executar. Ele pega o comando e os vários switches / argumentos e apenas mostra a parte relevante das páginas man.