
removido
(usa Nenhuma)
Enviado em 22/12/2010 - 04:47h
Bem, segue uma versão que verifica se a string já foi adicionada no arquivo.
Também coloquei um uniq para filtrar seguramente entradas repetidas e um help on-line.
E um ultimo toque que tal filtrar o conteúdo da linha procurada e da string de entrada. Assim ocorreriam menos erros. Tipo usando cut -d ':' para separar o nome do ip e cut -d '.' para separar as faixas de IP.
Presente de natal. :)
#!/bin/bash
# Atualiza lista.dat com nova relacao de ip's
#
# since 1.0
# by leonamtotal
#
# version 1.1
# by fdmarp
#
# version 1.2
# by ./.ronin [
http://sekysu.blogspot.com ]
#
LIST='lista.dat'
function _remove()
{
N_LIST=$( cat $LIST | sort | uniq | grep -v $1 )
echo -e $N_LIST | sed 's/ /\n/g' > $LIST
}
# Verifica se ja existe a string fornecida no arquivo
# by ./.ronin
# at 2010-12-22 23:58
function _exists()
{
EXISTS[0]=$(grep $1 $LIST)
EXISTS[1]=$(echo ${EXISTS[0]} | sed 's/'$1'//g')
if [ ${#EXISTS[0]} -eq ${#EXISTS[1]} ]
then
echo "Adicionado: $1"
return 0
else
echo "Já existe: $1"
return 2
fi
}
function _adiciona()
{
_exists $1 &&
echo -e $1 >> $LIST
}
function _help()
{
SCRIPT_NM=$(echo $0 | sed 's/.*\///g')
echo -e "
$SCRIPT_NM
Atualiza lista.dat com nova relacao de ip's\n
Uso:
\t$SCRIPT_NM\t[opcao] string
\t[opcao] \t[ add, rm ] operacao a ser efetuada
\t[string]\tstring a ser adicionada ou removida
\nOpcoes\n
\tadd\tadiciona a string
\trm\tremove a string
\n( version 1.1 )
by ./.ronin [
http://sekysu.blogspot.com ]\n
"
}
case $1 in
'add')_adiciona $2 ;;
'sub')_remove $2 ;;
'--help, -h')_help ;;
*)_help;;
esac
exit