Humm

veja estas funções:

IPS=lista_ips.txt
desbloqueia_ip(){ # coloca no final do arquivo
        IP=${1}
        sed "/${IP}/d" -i ${IPS}
        echo $IP >> ${IPS}                      
}

bloqueia_ip(){ # coloca acima de desbloqueados
        IP=${1}
        sed "/${IP}/d" -i ${IPS}
        sed "s/.*desbloqueados/${IP}\n&/g" ${IPS}       
}

verifica_ip(){
        IP=${1}
        if grep -q ${IP} ${IPS} ; then
                sed  -n '/desbloqueados/,$p' ${IPS} | grep -q ${IP} && echo
'desbloqueado' || echo 'bloqueado'
        else
                echo "ip fora da lista"
        fi              
}

On 12/20/06, geovan127 <[EMAIL PROTECTED]> wrote:
>
> Pessoal segue abaixo o meu script para escrever dentro de um arquivo,
>  só que em um certo lugar, do arquivo por exemplo, quero inserir os
>  ip´s depois de
>  ######## bloqueados
>  200.155.144.122
>  255.255.244.255
>  colocar ele aqui
>
>  ou
>
>  ####### desbloqueados
>  200.155.144.155
>  122.144.155.156
>  coloca aqui
>
>  Me falaram que com o sed dá, mas não consegui colocar esta sintaxe
>  aqui, alguem pode me ajudar a melhorar isso? Agradeço a atenção de
>  vcs!
>
>  #!/bin/bash
>  #
>  dir_squid="/etc/squid"
>  tmp="/tmp/squid"
>  #
>  trap "" 2 3
>  trap "" 20
>
>  if [ ! -d $tmp ]; then
>          mkdir $tmp
>  fi
>
>  choice() {
>
>  options=$(dialog --stdout --backtitle "Gerenciador de Bloqueio de
>  IP´S / Internet e Informática" --title "Gerenciador de Bloque
>  io de IP´S" \
>          --radiolist "\nO que você deseja fazer?\n" 0 0 0 \
>  1 "Bloquear um IP" off \
>  2 "Desbloquear um IP" off \
>  3 "Visualizar itens bloqueados" off \
>  4 "Sair " off 2>&1)
>
>  case $options in
>  '')
>  default
>  ;;
>  '1')
>  add_IP
>  ;;
>  '2')
>  rm_IP
>  ;;
>  '3')
>  ver_bloqueados
>  ;;
>  '4')
>  sair
>  ;;
>  *)
>  ;;
>  esac
>  }
>
>  default() {
>  if [ $? = 0 ]; then
>          dialog --title "Atenção" \
>                  --msgbox "\n\nEscolha uma opção no menu principal" 9
>  39
>          choice
>  else
>          sair
>  fi
>  }
>
>  add_IP() {
>  dialog --title "Adicionando IP" \
>          --inputbox "\nDigite o IP que vc quer deseja bloquear:" 11 34
>  2>$tmp/word.txt
>          if [ $? = 1 ]; then
>                  choice
>          fi
>          if [ "`cat $tmp/word.txt`" == ""  ]; then
>                  dialog --title "ERRO" \
>                          --msgbox "\n\n    Nenhum IP foi digitada" 9 42
>          else
>                  if [ "`cat $tmp/word.txt`" = "`cat $tmp/word.txt |
>  grep -f $dir_squid/access`" ]; then
>                          dialog --title "Atenção" --msgbox "\n\n  Este
>  IP já está bloqueado!" 9 40
>                          choice
>                  else
>                          echo `cat $tmp/word.txt` >> $dir_squid/acess
>                          dialog --title "IP adicionado com sucesso" \
>
>  sair
>  fi
>  }
>
>  add_IP() {
>  dialog --title "Adicionando IP" \
>          --inputbox "\nDigite o IP que vc quer deseja bloquear:" 11 34
>  2>$tmp/wor
>  d.txt
>          if [ $? = 1 ]; then
>                  choice
>          fi
>          if [ "`cat $tmp/word.txt`" == ""  ]; then
>                  dialog --title "ERRO" \
>                          --msgbox "\n\n    Nenhum IP foi digitada" 9 42
>          else
>                  if [ "`cat $tmp/word.txt`" = "`cat $tmp/word.txt |
>  grep -f $dir_
>  squid/access`" ]; then
>                          dialog --title "Atenção" --msgbox "\n\n  Este
>  IP já está
>   bloqueado!" 9 40
>                          choice
>                  else
>                          echo `cat $tmp/word.txt` >> $dir_squid/acess
>                          dialog --title "IP adicionado com sucesso" \
>
>  esac
>  }
>
>  default() {
>  if [ $? = 0 ]; then
>          dialog --title "Atenção" \
>                  --msgbox "\n\nEscolha uma opção no menu principal" 9
>  39
>          choice
>  else
>          sair
>  fi
>  }
>
>  add_IP() {
>  dialog --title "Adicionando IP" \
>          --inputbox "\nDigite o IP que vc quer deseja bloquear:" 11 34
>  2>$tmp/word.txt
>          if [ $? = 1 ]; then
>                  choice
>          fi
>          if [ "`cat $tmp/word.txt`" == ""  ]; then
>                  dialog --title "ERRO" \
>                          --msgbox "\n\n    Nenhum IP foi digitada" 9 42
>          else
>                  if [ "`cat $tmp/word.txt`" = "`cat $tmp/word.txt |
>  grep -f $dir_squid/access`" ]; then
>                          dialog --title "Atenção" --msgbox "\n\n  Este
>  IP já está bloqueado!" 9 40
>                          choice
>                  else
>                          echo `cat $tmp/word.txt` >> $dir_squid/acess
>                          dialog --title "IP adicionado com sucesso" \
>                                  --msgbox "\n\nPressione <ENTER> para
>  voltar ao menu principal" 9 51
>                  fi
>          fi
>          choice
>  }
>
>  rm_IP() {
>  dialog --title "Removendo IP" \
>          --inputbox "\nDigite o IP que vc deseja deseja remover:" 11
>  34 2>$tmp/rword.txt
>          if [ $? = 1 ]; then
>                  choice
>          fi
>          if [ "`cat $tmp/rword.txt`" == ""  ]; then
>                  dialog --title "ERRO" \
>                          --msgbox "\n\n    Nenhum IP foi digitado" 9 42
>          else
>                  if [ "`cat $tmp/rword.txt | grep -f
>  $dir_squid/access.txt`" == "" ]; then
>                          dialog --title "Atenção" --msgbox "\n\n  Este
>  IP não está bloqueado!" 9 42
>
>                    



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer

Responder a