Script p/ remoção de um determinado IP

1. Script p/ remoção de um determinado IP

Tiago Barros
richerbarros

(usa Slackware)

Enviado em 11/08/2007 - 22:56h

Seguinte amigos, tenho um arquivo que contem uma lista de IPs da minha rede onde autorizo a navegação na net,tipo:

192.168.0.4
192.168.0.6
192.168.0.15
192.168.0.20
192.168.0.60
192.168.0.61

Quero remover vamos supor apenas o IP 192.168.0.6 No script q tenho quando vou remover, acontece também removendo todos os IPs
que possuem "192.168.0.6" no caso os IPs: 192.168.0.60 e 192.168.0.61 Como posso resolver isso ?

minha sintaxe de remoção do meu atual script é essa:

1)echo "Digite o IP a ser bloqueado:"
read ip_bloq
if cat /etc/firewall/acesso-navegacao |grep "$ip_bloq"
then cat /etc/firewall/acesso-navegacao |grep -iv "$ip_bloq" > /etc/firewall/acesso-navegacao.tmp && cat /etc/firewall/acesso-navegacao.tmp > /etc/firewall/acesso-navegacao
rm -rf /etc/firewall/acesso-navegacao.tmp

Desde já, muito obrigado.





  


2. Re: Script p/ remoção de um determinado IP

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 12/08/2007 - 12:09h

Tenta com o sed assim:

sed '/^192.168.0.6$/d'

O sed vai procurar pela linha que começa (^) pelos caracteres (192.168.0.6) e que termina ($) somente com estes mesmos caracteres.

Segue um script de exemplo:
==================================================
#!/bin/bash

# Enfeitando o terminal =)
tput bold

# Variável contendo o arquivo com a lista de IP's:
L_IP=/tmp/lista_de_ips

# Perguntando ao usuário:
read -p "Qual o IP a ser removido?: " IP

# Se nada for especificado:
[[ -z $IP ]] && echo "-> Nenhum IP especificado! Saindo..." && exit 1

# Procurando o IP no arquivo:
[[ $(sed -n "/^$IP$/p" < $L_IP) ]] || {
echo "-> IP não encontrado!"
exit 1
}

# Se o IP foi encontrado, então remova-o:
echo"$(sed "/^$IP$/d" < $L_IP)" > $L_IP
echo "IP removido com sucesso!" && exit

# Restaurando o modo normal do terminal:
tput reset
# Fim


3. Re: Script p/ remoção de um determinado IP

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 12/08/2007 - 22:32h

Dei uma melhorada no script!

=)

Falou!!!



4. resolvido!

Tiago Barros
richerbarros

(usa Slackware)

Enviado em 13/08/2007 - 15:50h

Valeu Marcell, gostei da sua dica e peguei outras aqui: http://www.grymoire.com/Unix/Sed.html fiz uns ajustes no meu script e resolvi meu problema.
Um abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts